Edit Distance
来源:互联网 发布:广州php培训哪家好 编辑:程序博客网 时间:2024/04/29 02:29
现在觉得看懂了,但是几天后要是再做的话,还是不会,一定要学会dp
class Solution {public: int minDistance(string word1, string word2) { vector<vector<int>>f(word1.size()+1,vector<int>(word2.size()+1)); for(int i=0;i<word1.size()+1;i++) f[i][0]=i; for(int i=0;i<word2.size()+1;i++) f[0][i]=i; for(int i=1;i<word1.size()+1;i++) for(int j=1;j<word2.size()+1;j++) { if(word1[i-1]==word2[j-1]) f[i][j]=f[i-1][j-1]; else f[i][j]=f[i-1][j-1]+1; f[i][j]=min(f[i][j],min(f[i][j-1]+1,f[i-1][j]+1)); } return f[word1.size()][word2.size()]; }};题解
典型的动态规划问题。
EDIT[i,j]表示对于字符串a从1到i的子串和字符串b从1到j的字串的编辑距离。(字符串下标从1开始)
EDIT[i - 1,j] + 1表示对a 在i 位置删除delete操作
EDIT[i,j - 1] + 1 表示insert添加操作
EDIT[i-1, j - 1] + f(x[i],y[j])这里如果x[i] == y[j] 则 f(x[i],y[j]) == 0 否则 ==1
0 0
- edit distance
- Edit Distance
- edit distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Android 系统应用Setting开发总结
- cocos2dx3.0rc如何创建新工程
- Linux ubuntu下安装配置apache,php,mysql并实现操作
- JAVA的Random类(转)
- vmware中nat模式上网配置
- Edit Distance
- hbase assign region 深入分析
- C++基础:C++中的explicit关键字
- hdu 4749 Parade Show(KMP)
- 关于C++初始化列表(摘自其他博客)
- Best Time to Buy and Sell Stock
- Servlet-Cookie详解
- POJ 3278 Catch That Cow[BFS]
- 17个新手常见Python运行时错误