解题思路:
请看小视频
最短编辑距离(字符串的修改)
https://www.bilibili.com/video/BV1fr4y1K7va?share_source=copy_web
注意事项:
参考代码:
#include
using namespace std;
char a[200],b[200];
int f[200][200]={};
int n,m;
int main()
{
scanf("%s%s",a+1,b+1);
n=strlen(a+1);
m=strlen(b+1);
for(int j=0;j<m;j++)
f[0][j]=j;
for(int i=0;i<n;i++)
f[i][0]=i;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
f[i][j]=min(f[i][j-1]+1,f[i-1][j]+1);
if(a[i]!=b[j])
f[i][j]=min(f[i][j],f[i-1][j-1]+1);
else
f[i][j]=min(f[i][j],f[i-1][j-1]);
}
printf("%d",f[n][m]);
return 0;
}
0.0分
3 人评分
回文数字 (C语言代码)浏览:2510 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1920 |
局部变量作函数返回值的问题浏览:981 |
字符串的输入输出处理 (C语言代码)浏览:1013 |
C语言程序设计教程(第三版)课后习题12.5 (C语言代码)浏览:766 |
众数问题 (C语言代码)浏览:675 |
【计算球体积】 (C语言代码)浏览:1552 |
求圆的面积 (C语言代码)浏览:657 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:681 |
P1002 (C++代码)浏览:717 |