72. 编辑距离
72. 编辑距离
题目链接:72. 编辑距离
代码如下:
//动态规划
//参考leetcode官方题解
class Solution {
public:int minDistance(string word1, string word2) {if(word1.size()*word2.size()==0) return word1.size()+word2.size();//dp数组vector<vector<int>> dp(word1.size()+1,vector<int>(word2.size()+1,0));//初始化边界值for(int i=0;i<=word1.size();i++)dp[i][0]=i;for(int j=0;j<=word2.size();j++)dp[0][j]=j;for(int i=1;i<=word1.size();i++){for(int j=1;j<=word2.size();j++){int left=dp[i-1][j]+1;int down=dp[i][j-1]+1;int left_down=dp[i-1][j-1];if(word1[i-1]!=word2[j-1])left_down+=1;dp[i][j]=min(min(left,down),left_down);}}return dp[word1.size()][word2.size()];}
};