0
点赞
收藏
分享

微信扫一扫

从“制造”到“智造”:中图光学测量仪器的进阶与应用

独西楼Q 2024-10-15 阅读 15

一眼编辑距离,动态规划求解。
MarCode为什么不能自定义代码模板?每次都要手动引用库,using namespace std很麻烦。好在可以在线debug,比leetcode强多了,但是社区生态没力扣强啊。

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int solution(std::string s, std::string t) {
    // Please write your code here
    int slen = s.size(), tlen = t.size();
    if(tlen == 0) return slen;
    if(slen == 0) return tlen;

    vector<vector<int>> dp(slen + 1, vector<int>(tlen + 1, slen + 1));
    for(int i = 0; i <= tlen; i ++) dp[0][i] = i;
    for(int i = 0; i <= slen; i ++) dp[i][0] = i;

    for(int i = 1; i <= slen; i ++){
        for(int j = 1; j <= tlen; j ++){
            if(s[i-1] == t[j-1]) dp[i][j] = dp[i-1][j-1];
            else {
                dp[i][j] = min(min(dp[i-1][j], dp[i][j-1]), dp[i-1][j-1]) + 1;
            }
        }
    }

    return dp[slen][tlen];

}

int main() {
    //  You can add more test cases here
    std::cout << (solution("AGCTTAGC", "AGCTAGCT") == 2) << std::endl;
    std::cout << (solution("AGCCGAGC", "GCTAGCT") == 4) << std::endl;
    return 0;
}
举报

相关推荐

0 条评论