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

计算字符串的编辑距离

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

#include <stdio.h>
#include <string.h>


int mix(int a,int b,int c)
{
    a=a<b?a:b;
    a=a<c?a:c;
    return a;
}

int main() {
    char str1[1001],str2[1001];
    scanf("%s%s",str1,str2);
    int len1=strlen(str1);
    int len2=strlen(str2);
    int i,j;
    int dp[len1+1][len2+1];
    for(i=0;i<len1+1;i++)
    {
        for(j=0;j<len2+1;j++)
        {
            if(i==0&&j!=0)
            {
                dp[i][j]=j;
            }else if(i!=0&&j==0)
            {
                dp[i][j]=i;
            }else if(i==0&&j==0)
            {
                dp[i][j]=0;
            }
        }
    }
    for(i=1;i<len1+1;i++)
    {
        for(j=1;j<len2+1;j++)
        {
            if(str1[i-1]==str2[j-1])
            {
                dp[i][j]=dp[i-1][j-1];
            }else{
                dp[i][j]=mix(dp[i-1][j-1]+1,dp[i-1][j]+1,dp[i][j-1]+1);
            }
        }
    }
    int ret=dp[len1][len2];
    printf("%d\n",ret);
    return 0;
}

全部评论
自己不会系列加一,先在B站上搜了下,发现这是经典的动态规划问题
点赞 回复 分享
发布于 2023-11-20 22:37 广东

相关推荐

06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务