动态规划状态转移方程
dp[i][j]表示,word1的第i个字符之前的字符串与word2的第j个字符之前的字符串 之间的编辑距离
这时有两种情况:
一、如果 第i个字符与第j个字符相同,取三种状态中最小的+1
dp[i][j]=min(dp[i-1][j],dp[i][j-1],dp[i-1][j-1]-1)+1
分析,如果i-1 j-1是最小的,相当于两边都加上第i和j个字符,因为是相同的,所以编辑距离不变,先-1再+1
如果是i-1 j或者i j-1是最小的,第i个字符或者第j个字符就是多余的,需要把它删除,所以编辑距离+1
二、如果 第i个字符与第j个字符相同
dp[i][j]=min(dp[i-1][j],dp[i][j-1],dp[i-1][j-1])+1
和上一种情况差不多,唯一的区别就是如果i-1 j-1最小,第i个字符和第j个字符又不一样,就要改动其中一个使之一样,所以编辑距离只+1,