编辑距离
题目详情
给出两个单词word1和word2,计算出将word1 转换为word2的最少操作次数。
你总共三种操作方法:
- 插入一个字符
- 删除一个字符
- 替换一个字符
样例:
给出 work1=”mart” 和 work2=”karma”
返回 3
思路:
- 动态规划求解
dp[i][j]:
word1的前i个字符转换成word2的前j个字符所需要的最少操作次数- 其中,状态转移方程为:
dp[i][j] = Math.min {dp[i-1][j] + 1, dp[i][j-1] + 1, dp[i-1][j-1] (+1)}
代码:
|
|
编辑距离ii
题目详情
给你两个字符串 S 和 T, 判断他们是否只差一步编辑。
样例:
给你字符串 s = “aDb”, t= “adb”
返回 true
思路:
只有以下三种可能性的时候才为只差一步编辑距离:
abcd
<–>abce
abc
<–>abcd
abce
<–>abc
Ps:当两个字符串相等时,应该返回false
代码:
|
|