72. 编辑距离
小于 1 分钟
72. 编辑距离中等
解法思路:
使用动态规划,状态转移方程:
class Solution {
public int minDistance(String word1, String word2) {
int len1 = word1.length(),len2 = word2.length();
int[][] dp = new int[len1 + 1][len2 + 1];
for (int i = 0; i <= len2; i++) {dp[0][i] = i;}
for (int i = 0; i <= len1; i++) {dp[i][0] = i;}
for (int i = 1; i <= len1; i++) {
for (int j = 1; j <= len2; j++) {
if(word1.charAt(i - 1) == word2.charAt(j - 1)) dp[i][j] = dp[i - 1][j - 1];
else {
dp[i][j] = Math.min(dp[i - 1][j - 1],Math.min(dp[i - 1][j],dp[i][j - 1])) + 1;
}
}
}
return dp[len1][len2];
}
}
Powered by Waline v2.15.5