zzulioj 1206 字符串的修改(dp求解 Minimum Edit Distance )
来源:互联网 发布:mac 没内置扬声器选项 编辑:程序博客网 时间:2024/06/04 21:00
Description
设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:
1. 删除一个字符;
2. 插入一个字符;
3. 将一个字符改为另一个字符。
对任给的两个字符串A和B,计算出将字符串A变换为字符串B所用的最少字符操作次数。
Input
第一行为字符串A;第二行为字符串B;字符串A和B的长度均小于200。
Output
只有一个正整数,为最少字符操作次数。
Sample Input
sfdxbqw
gfdgw
gfdgw
Sample Output
4
很明显的动态规划算法,刚开始不知道怎么写,后来上网查了查,是一类题,叫做Edit Distance。很经典的一类题型,借鉴了两个大牛的博客,写的非常详细:
http://blog.csdn.net/huaweidong2011/article/details/7727482#t1
http://blog.csdn.net/abcjennifer/article/details/7735272
解题过程上面两个博客写的非常清楚,就不再多说了。
很明显的动态规划算法,刚开始不知道怎么写,后来上网查了查,是一类题,叫做Edit Distance。很经典的一类题型,借鉴了两个大牛的博客,写的非常详细:
http://blog.csdn.net/huaweidong2011/article/details/7727482#t1
http://blog.csdn.net/abcjennifer/article/details/7735272
解题过程上面两个博客写的非常清楚,就不再多说了。
#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<vector>#include<cstring>#include<string>#include<map>using namespace std;#define N 220int main(){ int m,n,i,j; int dp[N][N]; char a[N],b[N]; while(~scanf("%s%s",a,b)) { m=strlen(a); n=strlen(b); memset(dp,0,sizeof(dp)); for(i=0; i<=m; i++) dp[i][0]=i; for(j=0; j<=n; j++) dp[0][j]=j; for(j=1; j<=n; j++) for(i=1; i<=m; i++) { if(a[i-1]==b[j-1]) dp[i][j]=dp[i-1][j-1]; else dp[i][j]=min(min(dp[i-1][j]+1,dp[i][j-1]+1),dp[i-1][j-1]+1); } printf("%d\n",dp[m][n]); } return 0;}
0 0
- zzulioj 1206 字符串的修改(dp求解 Minimum Edit Distance )
- 动态规划 求解 Minimum Edit Distance
- 动态规划 求解 Minimum Edit Distance
- 72:Edit Distance【DP】【字符串】
- 自然语言处理-Minimum edit distance
- 4.Edit Distance【dp】
- 【DP】Edit Distance
- Leetcode dp Edit Distance
- [leetcode][DP] Edit Distance
- LeetCode Edit Distance DP
- [LeetCode] Edit Distance(!!!!!DP)
- Edit Distance(dp)
- Edit Distance(dp)
- leetcode---edit-distance---dp
- Leetcode-Edit Distance(dp)
- leetcode -- Edit Distance -- 重点dp
- leetcode 72. Edit Distance DP
- [LeetCode] DP 之 Edit Distance
- java内存模型详细分析
- Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (24.2.
- Sigar linux系统中 java编程简单实用例子
- [LeetCode]--18. 4Sum
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
- zzulioj 1206 字符串的修改(dp求解 Minimum Edit Distance )
- valid Parentheses
- SqlMetal 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误 (error: 26 - 定位指定的服务器/实例时出错) SQL SERVER 2008解决办法
- 微信小程序 - 创建第一个小程序
- c#泛型学习
- html border画三角形
- Unity3D 关于资源加载(Resources和AssetBundle)和内存管
- 写给Android开发者的混淆使用手册
- Supporting Different Devices笔记