解题思路:
请看小视频
最短编辑距离(字符串的修改)
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 人评分
Minesweeper (C语言代码)浏览:805 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:560 |
C二级辅导-同因查找 (C语言代码)浏览:564 |
【亲和数】 (C语言代码)浏览:495 |
【排队买票】 (C语言代码)浏览:900 |
本人酷爱递归实现很多问题,这里也是浏览:557 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1099 |
WU-C语言程序设计教程(第三版)课后习题11.12 (C++代码)(想学链表的小伙伴可以看看)浏览:904 |
1011题解浏览:765 |
A+B for Input-Output Practice (C语言代码)浏览:468 |