题解 | #计算字符串的编辑距离#
计算字符串的编辑距离
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")

海康威视公司福利 1144人发布
查看8道真题和解析