class Solution {
public:
int minDistance(string word1, string word2) {
vector<vector<int>> dp(word1.size()+1,vector<int> (word2.size()+1, 0));
for(int i = 0;i < dp.size();i++){
dp[i][0] = i;
}
for(int j = 0;j < dp[0].size();j++){
dp[0][j] = j;
}
for(int i = 1;i < dp.size();i++){
for(int j = 1; j < dp[i].size();j++){
dp[i][j] = min(min(dp[i][j-1],dp[i-1][j]),dp[i-1][j-1])+1;
if(word1[i-1] == word2[j-1]){
dp[i][j] = dp[i-1][j-1];
}
}
}
return dp.back().back();
}
};
编辑距离
最新推荐文章于 2022-03-24 22:42:50 发布