【字符串】72. 编辑距离
题目:

解答:

1 class Solution { 2 public: 3 int minDistance(string word1, string word2) 4 { 5 vector<vector<int>> dp(word1.size() + 1, vector<int>(word2.size() + 1, 0)); 6 7 for (int i = 0; i < dp.size(); i++) 8 { 9 dp[i][0] = i; 10 } 11 12 for (int j = 0; j < dp[0].size(); j++) 13 { 14 dp[0][j] = j; 15 } 16 17 for (int i = 1; i < dp.size(); i++) 18 { 19 for (int j = 1; j < dp[i].size(); j++) 20 { 21 dp[i][j] = min(dp[i - 1][j - 1], min(dp[i - 1][j], dp[i][j - 1])) + 1; 22 23 if (word1[i - 1] == word2[j - 1]) 24 { 25 dp[i][j] = min(dp[i][j], dp[i - 1][j - 1]); 26 } 27 } 28 } 29 return dp.back().back(); 30 } 31 };

浙公网安备 33010602011771号