题解 | #计算字符串的编辑距离#

计算字符串的编辑距离

https://www.nowcoder.com/practice/3959837097c7413a961a135d7104c314

#include <ios>
#include <iostream>
#include <string.h>
using namespace std;
int minn(int a,int b){
    return a<b?a:b;
}
int main() {
    char s1[1001],s2[1001];
    int i,j,k,t[1001][1001];
    cin>>s1>>s2;
    for(i=0;i<=strlen(s1);i++)//注意初始化条件
        t[i][0]=i;
    for(i=0;i<=strlen(s2);i++)
        t[0][i]=i;
    for(i=1;i<=strlen(s1);i++){
        for(j=1;j<=strlen(s2);j++){
            if(s1[i-1]==s2[j-1]){
                t[i][j]=t[i-1][j-1];
                //cout<<i-1<<' '<<j-1<<endl;
            }
            else{
                t[i][j]=minn(minn(t[i-1][j-1],t[i][j-1]),t[i-1][j])+1;
            }
        }
    }
    cout<<t[strlen(s1)][strlen(s2)]<<endl;
    return 0;
}
// 64 位输出请用 printf("%lld")
全部评论

相关推荐

投递美团等公司10个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务