每日算法:

用动态规划解题:
dp[i][j]表示word1 0 - i 与word2 0 - j 的edit distance。
当增加的如果word 1[i] == word2[j]则 dp[i+1][j+1] = dp[i][j];
如果不一样则可以通过三种方式一样 insert replace delete
delete: 则是dp [i+1][j+1] = dp[i][j+1] + 1 (word2的index增加了一个i却没有增加)
replace : 则是dp [i+1][j+1] = dp[i][j] + 1
insert : 则是dp [i+1][j+1] = dp[i+1][j] + 1

 public int minDistance(String word1, String word2) {
        int m = word1.length();
        int n = word2.length();
        int[][] dp = new int[m+1][n+1];
        for(int i = 0;i

你可能感兴趣的:(每日算法:)