Edit Distance
来源:互联网 发布:java io importnew 编辑:程序博客网 时间:2024/04/27 02:47
1.对于f[i][j]可以由三种状态而来,即
f[i-1][j-1]:修改word1[i]=word2[j]
f[i-1][j]: 删除word2[j]或者插入word1[i]
f[i][j-1]: 删除word1[i]或者插入word2[j]
2.状态方程如下
3.例如,对于字符串abcd 和acbd,填表如下
class Solution {public: int minDistance(string word1, string word2) { // Start typing your C/C++ solution below // DO NOT write int main() function int len1=word1.length(),len2=word2.length(),i,j; if(len1==0)return len2; if(len2==0)return len1; vector<int> row(len2+1,0); vector<vector<int>> f(len1+1,row); for(i=0;i<=len1;++i){ f[i][0]=i; } for(i=0;i<=len2;++i){ f[0][i]=i; } for(i=1;i<=len1;++i){ for(j=1;j<=len2;++j){ if(word1[i-1]==word2[j-1]){ f[i][j]=f[i-1][j-1]; }else{ // replace delete or insert f[i][j]=min(f[i-1][j-1],min(f[i-1][j],f[i][j-1]))+1; } } } return f[len1][len2]; }};
- 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
- 学习几个问题
- hdu 1016Prime Ring Problem
- 为类添加方法和实例(category与associative)
- Android布局文件命名
- hdu4467 Graph(构造法求解)
- Edit Distance
- Oracle树结构查询——connect by语法详解
- POJ 1015 DP
- SQLite C++操作类
- java 三大特性
- 如何实现框架窗口间的关联
- C 内联函数
- libhashkit,error(ubunbtu )
- 方便下载(git clone)、编译、运行的eCos环境