十七
十七
Published on 2022-02-25 / 181 Visits
0
0

leetcode72. 编辑距离

leetcode72. 编辑距离

分析

与acwing同源,只是要注意下标问题,f[i][j]和word[i],word[j]要对齐

class Solution {
public:
    int minDistance(string word1, string word2) {
        int la=word1.length(),lb=word2.length();
        word1=" "+word1;
        word2=" "+word2;//或者后面word1[i-1]!=word2[j-1]
        int f[la+1][lb+1];//f[i][j]表示由word1[i]->word2[j]的最少步骤
        for(int i=0;i<=lb;i++)f[0][i]=i;
        for(int i=0;i<=la;i++)f[i][0]=i;
        for(int i=1;i<=la;i++){
            for(int j=1;j<=lb;j++){
                f[i][j]=min(f[i-1][j],f[i][j-1])+1;//word1和word2长度不同,进行增加或者删除
                f[i][j]=min(f[i][j],f[i-1][j-1]+(word1[i]!=word2[j]));//长度相同,最后一个字母不同或者相同
            }
        }
        return f[la][lb];
    }
};

Comment