【Leetcode Daily】72编辑距离
题目浅析
想查看原题可以点击题目链接。
简单地说,就是给两个字符串,求一个字符串到另一个字符串的最小编辑距离。所谓的编辑距离对一个字符串做插入、删除或更改一个字符算是一个单位的编辑距离。
思路分享
求一个字符串(长为 n)到另一个字符串(长为 m)的最小编辑距离,比如求从 horse 到 ros 的编辑距离 l,可以视为 hors 到 ros 的距离 l+1(因为左边字符串最右边删去一个字符)以此类推,可以得到记忆化递归的写法。
重点记录由两个一维数组优化到一个一维数组中的思路,由于这里的状态由其位置的左、左上、上三个地方决定,所以必须从左向右遍历,如果直接这么做,会丢失坐上的数据,所以需要额外一个变量记录左上位置的数据,并及时更新。
代码解答(强烈建议自行解答后再看)
- 参考题解
1 | class Solution: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LuYaoQi's Blogs!