代码随想录算法训练营第三十九天

时间:2025-05-14 21:12:25
class Solution { public int minDistance(String word1, String word2) { int n = word1.length(); int m = word2.length(); int[][] dp = new int[n+1][m+1]; for(int i=1;i<=n;i++){ dp[i][0] = i; } for(int i=1;i<=m;i++){ dp[0][i] = i; } for(int i=1;i<=n;i++){ for(int j=1;j<=m;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]+2,Math.min(dp[i-1][j],dp[i][j-1])+1); } } // for(var arr:dp) // System.out.println(Arrays.toString(arr)); return dp[n][m]; } }