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

计算字符串的编辑距离

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

#include <stdio.h>
#include <string.h>
#define MIN(a,b,c) ((a)>(b)?((b)>(c)?(c):(b)):((a)>(c)?(c):(a)))
int main() {
    char str1[1001], str2[1001];
    while (scanf("%s %s", str1, str2) != EOF) {
        int len1 = strlen(str1);
        int len2 = strlen(str2);

        int dp[1000+1][1000+1];
        //初始状态
        for(int i=0;i<len1+1;i++)
        {
            //str2为空,str1只有前i个字符时,需要添加i个字符,即修改i次
            dp[i][0] = i;
        }
        for(int i=0;i<len2+1;i++) //同理
        {
            //str1为空,str2只有前i个字符时,需要添加i个字符,即修改i次
            dp[0][i] = i;
        }

        for(int i=1;i<len1+1;i++)   //子问题:str1只有前i个字符时的情况
        {
            for(int j=1;j<len2+1;j++)   //用整个str2去匹配str1的第i个字符
            {
                if(str1[i-1] == str2[j-1])  //当前字符相等
                {
                    //则不需要增加编辑次数 对str1和str2来说 当前字符加不加都一样
                    dp[i][j] = dp[i-1][j-1];    //继承上一个字符的次数即可
                }else {
                    //需要找到str1的第i个字符对应的str2的第j个字符的最小编辑次数
                    //因此需要分别比较str1 和 str2上一个字符+一次编辑的最小值
                    dp[i][j] = MIN(dp[i-1][j-1]+1,dp[i][j-1]+1,dp[i-1][j]+1);
                }
            }
        }

        printf("%d",dp[len1][len2]);
    }
    return 0;
}

全部评论

相关推荐

03-10 10:57
已编辑
门头沟学院 推荐算法
夜夜还好:我们学校说为了学生就业,更新了课程,我今天大二,上学期在学jsp,html,这学期上来工程实践,要求用springboot+vue,说什么这些技术要我们提前自己准备,要不你把学费还我吧,我给b站充个会员,人家教的比你多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
8880次浏览 81人参与
# 你的实习产出是真实的还是包装的? #
1659次浏览 40人参与
# 巨人网络春招 #
11296次浏览 223人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7358次浏览 40人参与
# 重来一次,我还会选择这个专业吗 #
433282次浏览 3926人参与
# 简历第一个项目做什么 #
31486次浏览 326人参与
# 米连集团26产品管培生项目 #
5573次浏览 214人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
186851次浏览 1118人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152256次浏览 887人参与
# 研究所笔面经互助 #
118841次浏览 577人参与
# 简历中的项目经历要怎么写? #
309928次浏览 4186人参与
# 面试紧张时你会有什么表现? #
30468次浏览 188人参与
# 你今年的平均薪资是多少? #
212968次浏览 1039人参与
# AI时代,哪些岗位最容易被淘汰 #
63273次浏览 795人参与
# 我的求职精神状态 #
447952次浏览 3128人参与
# 你最满意的offer薪资是哪家公司? #
76404次浏览 374人参与
# 高学历就一定能找到好工作吗? #
64288次浏览 620人参与
# 牛客AI文生图 #
21398次浏览 238人参与
# 你怎么看待AI面试 #
179765次浏览 1227人参与
# 正在春招的你,也参与了去年秋招吗? #
363143次浏览 2635人参与
# 腾讯音乐求职进展汇总 #
160549次浏览 1109人参与
# 职能管理面试记录 #
10794次浏览 59人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务