LeetCode 072 Edit Distance
来源:互联网 发布:安装淘宝网2017安卓 编辑:程序博客网 时间:2024/05/16 01:44
有3种操作:插入一个字符、删除一个字符、替换一个字符。问需要最少几步操作使一个字符串变到另一个字符串。
跟最长公共字序列类似,使用动态规划求解即可。时间复杂度为O(len1*len2)。
代码:
int minDistance(string word1, string word2) { int len1 = word1.length(); int len2 = word2.length(); vector<vector<int>> f(len1 + 1, vector<int>(len2 + 1)); for(int i = 0 ; i <= len1 ; i++) f[i][0] = i; for(int j = 0 ; j <= len2 ; j++) f[0][j] = j; for(int i = 1 ; i <= len1 ; i++) { for(int j = 1 ; j <= len2 ; j++) { if(word1[i - 1] == word2[j - 1]) { f[i][j] = min(f[i - 1][j - 1], min(f[i-1][j], f[i][j - 1]) + 1); } else { f[i][j] = min(f[i - 1][j - 1] + 1, min(f[i-1][j], f[i][j - 1]) + 1); } } } return f[len1][len2]; }
0 0
- LeetCode: Edit Distance [072]
- LeetCode 072 Edit Distance
- LeetCode 072 Edit Distance
- LeetCode 072 Edit Distance
- leetcode 072 —— Edit Distance
- LeetCode: Edit Distance
- LeetCode Edit Distance
- LeetCode: Edit Distance
- [Leetcode] Edit Distance
- leetcode 19: Edit Distance
- [LeetCode] Edit Distance
- [Leetcode] Edit Distance
- LeetCode Edit Distance
- [LeetCode] Edit Distance
- [LeetCode]Edit Distance
- Leetcode: Edit Distance
- [leetcode]Edit Distance
- LeetCode-Edit Distance
- 数据结构高分笔记1327||HNCU1327:算法2-13~2-16:静态链表
- TextBox控件
- RxJava 并发之线程调度
- Netty中的连接超时问题
- iOS_解析XML(很实用的两框架:KissXML、XmlReader)
- LeetCode 072 Edit Distance
- Two Sum
- poj 1182 【经典并查集】 和【不一样的解法】
- 模仿UIApplication单例实现方式
- Masory框架
- 有能愉快的敲代码了
- 203. Remove Linked List Elements
- Why would you learn C++ in 2016?(2016年,为什么我们要学习C++)
- [maya学习笔记(17)] 小球弹跳