72. 编辑距离
1 class Solution 2 { 3 public: 4 int minDistance(string word1, string word2) 5 { 6 int m = word1.size(); 7 int n = word2.size(); 8 9 vector<vector<int>> dp(m + 1,vector<int>(n + 1,0)); 10 for(int i = 0;i <= m;i ++) dp[i][0] = i; 11 for(int j = 1;j <= n;j ++) dp[0][j] = j; 12 13 14 for(int i = 1;i <= m;i ++) 15 { 16 for(int j = 1;j <= n;j ++) 17 { 18 if(word1[i - 1] == word2[j - 1]) dp[i][j] = dp[i - 1][j - 1]; 19 else dp[i][j] = min(dp[i - 1][j],min(dp[i][j - 1],dp[i - 1][j - 1])) + 1; 20 } 21 } 22 return dp[m][n]; 23 } 24 };
Mamba never out

浙公网安备 33010602011771号