解题思路:
请看小视频
最短编辑距离(字符串的修改)
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语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:681 |
数列 (C++代码)浏览:664 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:606 |
成绩转换 (C语言代码)浏览:1005 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:518 |
简单的a+b (C语言代码)浏览:807 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:901 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:520 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:668 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:553 |