编辑距离
1 | static int editDist(String str1 , String str2 , int m ,int n){ |
1 | //s: beforeediting,length=n t: afterediting,length=m |
1 | if x == y, then d[i][j] == d[i-1][j-1] |
为什么不同操作就是对应与d的左移上移或左上移?
这个问题递归角度较易理解。
DP角度,d记录的是目前最小编辑距离。左、上、左上为子问题,即儿子。若为插入,则j需+1得到t的下一个字符,而x继续与此字符比较,i不变。由递归到DP,实质就是找到递归中子问题。
找到后,将子问题结果记录在数组即可。
本文作者:
yuqing wang
本文链接: https://satyrswang.github.io/2021/03/11/编辑距离/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://satyrswang.github.io/2021/03/11/编辑距离/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!