两个字符串编辑距离
2017-07-13 18:04
309 查看
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=1e3+5; //求字符串s->t的编辑距离 int n,m; char s[maxn],t[maxn]; int dp[maxn][maxn]; void solve() { int n=strlen(s+1); int m=strlen(t+1); memset(dp,0,sizeof(dp)); //第一列初始化 for(int i=0;i<=n;i++) { dp[i][0]=i; } //第一行初始化 for(int i=0;i<=m;i++) { dp[0][i]=i; } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(s[i]==t[j])//如果字符相同 { dp[i][j]=dp[i-1][j-1];//为左上角的值 } else//不相同 { dp[i][j]=min(dp[i-1][j-1]+1,min(dp[i-1][j]+1,dp[i][j-1]+1)); //左上角的值+1,左边值+1,上面值+1,取三者最小值 } } } printf("%d\n",dp [m]); } int main() { while(~scanf("%s%s",s+1,t+1)) { solve(); } return 0; }
相关文章推荐
- 求两个字符串的最长公共子串,最长公共子序列,编辑距离
- DP求两个字符串的编辑距离
- 计算两个字符串编辑距离
- 求两个字符串的编辑距离
- 编辑距离 算法详述计算两个字符串差异 c++代码
- 两个字符串的编辑距离
- 求两个字符串的编辑距离
- 求两个字符串的编辑距离
- 基于动态规划(dynamic programming)的计算两个字符串的编辑距离
- 两个字符串的编辑距离、相似度求解
- 求两个字符串的最短编辑距离
- 算两个字符串之间的编辑距离
- [LeetCode]-Edit Distance 两个字符串之间最小编辑距离
- EditDistance,求两个字符串最小编辑距离,动态规划
- 计算两个字符串的编辑距离的快速算法
- Python实现求两个字符串的最短编辑距离
- 编辑距离LCS算法详解:Levenshtein Distance算法计算两个字符串的相似度
- C++实现两个字符串之间的Levenshtein Distance(编辑距离)
- 两个字符串的编辑距离-动态规划方法
- 求算两个字符串之间的编辑距离