LintCode-编辑距离
来源:互联网 发布:java怎么获取当前时间 编辑:程序博客网 时间:2024/06/06 08:17
给出两个单词word1和word2,计算出将word1 转换为word2的最少操作次数。
你总共三种操作方法:
- 插入一个字符
- 删除一个字符
- 替换一个字符
Yes
样例
标签 Expand 给出 work1="mart" 和 work2="karma"
返回 3
相关题目 Expand
分析:经典的动态规划面试题,在有道的实习面中遇到过,用dp[i][j]表示第一个字符串到i第二个字符串到j的时候需要进行多少次修改。
代码:
class Solution {public: /** * @param word1 & word2: Two string. * @return: The minimum number of steps. */ int minDistance(string word1, string word2) { // write your code here int n = word1.length(); int m = word2.length(); vector<vector<int> > dp(n+1,vector<int>(m+1,0)); for(int i = 1;i<=n;i++) dp[i][0]=i; for(int i=1;i<=m;i++) dp[0][i]=i; for(int i=1;i<=n;i++) { char c1 = word1[i-1]; for(int j=1;j<=m;j++) { char c2 = word2[j-1]; if(c1==c2) dp[i][j] = dp[i-1][j-1]; else dp[i][j] = min(dp[i-1][j],min(dp[i][j-1],dp[i-1][j-1]))+1; } } return dp[n][m]; }};
0 0
- LintCode-编辑距离
- LintCode : 编辑距离
- lintcode,编辑距离
- 编辑距离 -LintCode
- lintcode --编辑距离
- 编辑距离 II-LintCode
- lintcode---编辑距离I与编辑距离II
- 编辑距离
- 编辑距离
- 编辑距离
- 编辑距离
- 编辑距离
- 编辑距离
- 编辑距离
- 编辑距离
- 编辑距离
- 编辑距离
- 编辑距离
- 【华为oj】矩阵乘法
- neo4j介绍
- UML类图
- C++ 移位运算与进制转换 浅析
- CC2530定时器T1产生PWM
- LintCode-编辑距离
- 最长上升子序列
- 2
- 我和opencv 8 最大类间方差法
- 《克里希那那穆提-人生中不可不想的事》读书笔记
- 华为机试—求数的平方根立方根
- Mongodb启动命令mongod参数说明
- hive UDF 自定函数
- 《编程之美》1.2 中国象棋将帅问题 学习笔记