Leetcode DAY 56: 两个字符串的删除操作 and 编辑距离
创始人
2024-05-29 11:41:07
  • 583. 两个字符串的删除操作

1 、 dp[i][j]  表示  让以word1[i - 1]为结尾的字符串 和 以word2[i - 2]为结尾的字符串 相等需要删除的最少次数

1、dp[i][j] 的 递推需要考虑两种情况:

(1)word1[i - 1] == word2[j - 1]   相当于不考虑word1[i]和word2[j] 只考虑前面的  所以dp[i][j] = dp[i - 1][j - 1]

(2)word1[i - 1] != word2[j - 1]  ;如果不考虑word1[i - 1] 那么dp[i][j] = dp[i - 1][j] + 1; 如果不考虑word2[j - 1]  那么dp[i][j] = dp[i][j - 1] + 1 ; 如果都不考虑   那么dp[i][j] = dp[i - 1][j - 1] + 2

class Solution {
public:int minDistance(string word1, string word2) {int n = word1.size();int m = word2.size();vector> dp(n + 1, vector(m + 1));//dp[0][j]   for(int i = 0; i <= n; i++) dp[i][0] = i;for(int j = 0; j <= m; j++) dp[0][j] = j;for(int i = 1; i <= n; i++) {for(int j = 1; j <= m; j++) {if(word1[i - 1] == word2[j - 1]) {dp[i][j] = dp[i - 1][j - 1];} else {dp[i][j] = min(dp[i - 1][j] + 1, dp[i][j - 1] + 1);}}}return dp[n][m];}
};
  • 72. 编辑距离

1、dp[i][j]表示  以word1[i - 1]为结尾的字符串  -> 以word2[j - 1]为结尾的字符串需要的最少操作次数

2、 word1[i - 1] & word2[j - 1]相等   ->不操作  dp = dp[i -1][j - 1]

     不相等 可以进行 (增 删 换) 

   (1)增: 相当于 不考虑word2[j - 1]  操作数 + 1   

     (2)  删 :相当于  不考虑word2[i -1]   操作数 + 1

     (3)  换:相当于 把word1[i - 1] 替换成word2[j - 1]  相当于 不考虑这俩  操作数 + 1

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

相关内容

热门资讯

佛得角输了比赛,赢了全世界!这... (来源:荔枝新闻)转自:荔枝新闻2026年世界杯,人口仅54万的大西洋岛国佛得角,以2:3憾负阿根廷...
“厢爱未检”守护少年成长 ——...   今年是全国未成年人检察工作创建40周年。城厢区人民检察院依托木兰守护品牌,立足本地实际打造“厢爱...
博威合金:公司美国组件项目已完... (来源:财闻) 公司美国组件项目已完成全部交割;美国电池片项目需待整体项目...
一文读懂|证监会优化再融资规则... 上市公司再融资规则进一步完善。7月3日晚间,证监会表示,为增强国内资本市场竞争力、吸引力,提高资本市...
美前议员:以军暴行堪比纳粹德国 在今日俄罗斯电视台7月4日播出的采访中,美国前民主党籍众议员丹尼斯·库西尼奇(Dennis John...