72. Edit Distance
来源:互联网 发布:c语言循环从1加到100 编辑:程序博客网 时间:2024/06/03 20:23
1、题目描述
给两个字符串a和b,找到把a转换成b用的最少转换次数。转换方式有三种,插入,删除,替换。
2、思路
dynamic Programming.
dp[i][j] refers to the minimum number of steps required to convert a.substr(0,i) to b.substr(0,j).
If a[i]==b[j], dp[i+1][j+1] = dp[i][j];
else dp[i+1][j+1] = min(dp[i][j], dp[i+1][j], dp[i][j+1]) +1.
3、代码
int minDistance(string word1, string word2) { int l1 = word1.size(),l2=word2.size(); int dp[l1+1][l2+1]; for(int i=0;i<=l1;i++) dp[i][0]=i; for(int i=0;i<=l2;i++) dp[0][i]=i; for(int i=0;i<l1;i++){ for(int j=0;j<l2;j++){ if(word1[i]==word2[j]) dp[i+1][j+1]=dp[i][j]; else{ dp[i+1][j+1]=min(dp[i+1][j],min(dp[i][j],dp[i][j+1]))+1; } } } return dp[l1][l2]; }
阅读全文
0 0
- LeetCode 72. Edit Distance
- [LeetCode]72.Edit Distance
- LeetCode --- 72. Edit Distance
- [Leetcode] 72. Edit Distance
- [leetcode] 72.Edit Distance
- 72. Edit Distance
- [leetcode] 72.Edit Distance
- 72. Edit Distance
- Leetcode 72. Edit Distance
- 72. Edit Distance
- LeetCode 72. Edit Distance
- leetcode 72. Edit Distance
- LeetCode 72. Edit Distance
- Leetcode 72. Edit Distance
- 72. Edit Distance
- Leetcode:72. Edit Distance
- 【LeetCode】72. Edit Distance
- leetCode 72. Edit Distance
- Java并发编程——CyclicBarrier和Phaser
- 闪迪SanDisk优盘USB3.0故障USB2.0正常的权宜处理
- ie8在使用stringify后中文变unicode问题解决
- 【lintcode】最大子数组
- vim的基本设置环境
- 72. Edit Distance
- 从零开始搭建MVC项目
- linux上iostat命令
- 单链表的反转
- 极大似然估计
- keil快捷键 设定
- WEB免费打印控件推荐
- C三道题(五)
- 独家 | 一文读懂LinkedIn个性化推荐模型及建模原理