dist[i][j]表示从i往前数,j往前数的最少操作数,我们求dist[m][n],那么有4种情况.
如果str1[i]==str2[j],dist[i][j]=dist[i-1][j-1].... 这种情况的意思是, 如果两个字符相等,那么不必操作
如果str1[i]!=str2[j],dist[i][j]= min{} 以下三者:
1.dist[i][j-1],插入
2.dist[i-1][j-1],替换
3.dist[i-1][j],删除
最终的一个子问题是什么?
dist[0][j]=j, 意思是str1的0之前与str2的j之前匹配的最少操作数只要给str1加上str2的j之前的字符就ok.
,dist[i][0], 意思是str1的i之前与str2的0之前的匹配的最少操作数只要删除i之前的字符就和str2 的0之前匹配了.