首页 > 其他分享 >72.edit-distance 编辑距离

72.edit-distance 编辑距离

时间:2022-10-30 17:24:45浏览次数:84  
标签:distance 个字符 edit int word1 72 word2 dp

问题描述

72.编辑距离

解题思路

dp[i][j]的含义不再赘述:

  • if (word1[i - 1] == word2[j - 1]) dp[i][j] = dp[i - 1][j - 1];
  • else,分为三种操作情况:
    • 替换末尾字符: dp[i][j] = dp[i - 1][j - 1] + 1;
    • 删除word1的第i个字符: dp[i][j] = dp[i - 1][j] + 1;
    • 删除word2的第j个字符,即相当于在第i个字符后插入word2[j - 1]: dp[i][j] = dp[i][j - 1]

代码

class Solution {
  public:
    int minDistance(string word1, string word2) {
        vector<vector<int>> dp(word1.size() + 1, vector<int>(word2.size() + 1, 0));
        for (int i = 1; i <= word1.size(); i++) {
            dp[i][0] = i;
        }
        for (int j = 1; j <= word2.size(); j++) {
            dp[0][j] = j;
        }
        for (int i = 1; i <= word1.size(); i++) {
            for (int j = 1; j <= word2.size(); j++) {
                if (word1[i - 1] == word2[j - 1])
                    dp[i][j] = dp[i - 1][j - 1];
                else {
                    dp[i][j] = min(min(dp[i - 1][j - 1], dp[i][j - 1]), dp[i - 1][j]) + 1;
                }
            }
        }
        return dp[word1.size()][word2.size()];
    }
};

标签:distance,个字符,edit,int,word1,72,word2,dp
From: https://www.cnblogs.com/zwyyy456/p/16841707.html

相关文章

  • P2272 [ZJOI2007]最大半连通子图
    哎,这道题打了半个小时,调了两个小时,最后发现竟然是把\(Tarjan\)里\(while\)给打成\(if\),呜呜,枉费我两个小时时间,所以下次一定要记住不能打成\(if\)(估计也就我一个......
  • 【XSY3726】大猫熊和他的k边形(三角剖分,卡特兰数)
    记录一下两个结论。有标号\(n\)边形的三角剖分数等于\(B_{n-2}\),其中\(B\)是卡特兰数。证明:考虑DP,设\(C_n\)为有标号\(n\)边形的三角剖分数,考虑与\(1\)号......
  • Windows找不到文件‘gpedit.msc‘。请确定文件名是否正确后,再试一次。
    异常场景:​​提示:这里需要在我们的电脑上按win+R键打开运行,输入"gpedit.msc",如下图:​​原因分析:分析:​​Windows家庭中文版​​​ 默认没有 ​​本地策略组编辑......
  • 【EA的练习赛2】【洛谷P7274】草地(单调栈,LCT维护最小生成树)
    学到了很多。我们分步走。首先在做这道题前先观察到几个小性质:操作顺序不同不影响结果发现对于每一个黑点,一通操作过后它扩展出的区域是一个矩形,而操作顺序是不影响......
  • 【CF1396E】Distance Matching(构造)
    题意:给一棵\(n\)个点的树,保证\(n\)为偶数,你需要将这\(n\)个点两两配对,使得每对点的距离和恰好为\(k\)。判断无解或输出方案。\(n\leq10^5,k\leqn^2\)。题解:首......
  • 开发利器 Emeditor
     今天给大家推荐一款利器,它比windows自带的记事本,功能要强大一百倍。。。不一万倍。。。扯呼。。来看具体使用吧。一、支持的文件种类丰富 如图所示,不在做具体的列举......
  • Codeforces Round #672 (Div. 2) D
    D.RescueNibel!转化题意就是叫我们求k条线段都有重合的方案数最开始想的是离散化+线段树手模拟一下样例这样会是有重复的我们要如何保证不重不漏!显然我们可以将线......
  • tmagic-editor本地运行
    直接用官网或git上的教程不能直接本地运行起来,要按照以下步骤才可以:1、在github下载好代码2、按照github提示那样,分别npminstall-gpnpm、pnpmbootstrap,先不要pnpmpl......
  • 公司网站中eWebEditor转到uEditor的实践
    近日排查站点中的广告词时,发现以前所用的ewebeditor编辑器因为版本过旧,已经无法在当前浏览器中使用,编辑文章时内容无法显示,因此打算更新版本。但是eWebEditor众所周知是一......
  • Educational Codeforces Round 138 F Distance to the Path
    DistancetothePath思维+树链剖分首先与树链剖分无关,先考虑如果只更新一个点的情况因为更新一个点,它既能向根的方向更新,又能向子树方向更新,非常难维护,于是我们只......