news 2026/8/16 6:54:51

leetcode 712. 两个字符串的最小ASCII删除和 中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 712. 两个字符串的最小ASCII删除和 中等

给定两个字符串s1s2,返回使两个字符串相等所需删除字符的ASCII值的最小和

示例 1:

输入:s1 = "sea", s2 = "eat"输出:231解释:在 "sea" 中删除 "s" 并将 "s" 的值(115)加入总和。 在 "eat" 中删除 "t" 并将 116 加入总和。 结束时,两个字符串相等,115 + 116 = 231 就是符合条件的最小和。

示例 2:

输入:s1 = "delete", s2 = "leet"输出:403解释:在 "delete" 中删除 "dee" 字符串变成 "let", 将 100[d]+101[e]+101[e] 加入总和。在 "leet" 中删除 "e" 将 101[e] 加入总和。 结束时,两个字符串都等于 "let",结果即为 100+101+101+101 = 403 。 如果改为将两个字符串转换为 "lee" 或 "eet",我们会得到 433 或 417 的结果,比答案更大。

提示:

  • 1 <= s1.length, s2.length <= 1000
  • s1s2由小写英文字母组成

分析:动态规划。设 s1 和 s2 的长度分别为 l1、l2,令二维数组 dp[i][j] 代表 s1[0...i-1] 与 s2[0...j-1] 的最小 ASCII 删除和,要求 dp[i+1][j+1] 时:

如果 s1[i] == s2[j],则 dp[i+1][j+1]=dp[i][j];

如果 s1[i] != s2[j],则 dp[i+1][j+1]=min(dp[i+1][j]+s1[i],dp[i][j+1]+s2[j]),即删掉 s1[i] 的代价与 删掉 s2[j] 的代价中的较小值。

初始时,有 dp[0][0]=0。对于 dp[i][0] 与 dp[0][j],这分别代表 s1 长度为 0,s2 长度为 0 时的代价,显然此时需要把另一个字符串全部删掉,因此:

dp[i][0]=dp[i-1][0]+s1[i-1],dp[0][j]=dp[0][j-1]+s2[j-1]

int minimumDeleteSum(char* s1, char* s2) { int l1=strlen(s1),l2=strlen(s2); int dp[l1+5][l2+5]; for(int i=0;i<=l1;++i) for(int j=0;j<=l2;++j) dp[i][j]=0; dp[1][0]=s1[0]; for(int i=1;i<=l1;++i) dp[i][0]=dp[i-1][0]+s1[i-1]; dp[0][1]=s2[0]; for(int i=1;i<=l2;++i) dp[0][i]=dp[0][i-1]+s2[i-1]; for(int i=1;i<=l1;++i) { for(int j=1;j<=l2;++j) { if(s1[i-1]==s2[j-1])dp[i][j]=dp[i-1][j-1]; else dp[i][j]=fmin(dp[i-1][j]+s1[i-1],dp[i][j-1]+s2[j-1]); } } return dp[l1][l2]; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/3 1:27:42

并发,并行与异步

我发现一个普遍的困惑点浮现出来&#xff0c;其根源在于混淆了“并发”、“并行”与“异步”&#xff0c;特别是下意识地将异步等同于利用多核CPU进行并行处理。 为了彻底澄清这些基础但至关重要的概念&#xff0c;我们深入剖析理论原则并且同时抛开我们日常使用的现代框架&am…

作者头像 李华
网站建设 2026/8/10 1:09:22

2026论文写作AI工具实测:全流程提效不踩坑

2026年&#xff0c;AI工具早已深度融入学术写作场景&#xff0c;成为科研人、学生提升效率的重要助力。但市面上论文类AI工具鱼龙混杂&#xff0c;宣传噱头远大于实用价值的产品不在少数。究竟哪些工具能真正解决选题迷茫、格式混乱、文献难寻、排版耗时等核心痛点&#xff1f;…

作者头像 李华
网站建设 2026/8/14 8:35:52

可观察的到底是个啥?前端老铁速看,别再被 RxJS 整懵了!

可观察的到底是个啥&#xff1f;前端老铁速看&#xff0c;别再被 RxJS 整懵了&#xff01; 可观察的到底是个啥&#xff1f;前端老铁速看&#xff0c;别再被 RxJS 整懵了&#xff01;先别急着关页面&#xff0c;我不是来背概念的Promise 咋就不够用了&#xff1f;我踩过的坑你别…

作者头像 李华
网站建设 2026/8/9 16:28:36

《UVA11181 条件概率 Probability|Given》

题目描述 PDF 输入格式 输出格式 隐藏翻译 题意翻译 有 n 个人要去买东西&#xff0c;第 i 个人买到东西的概率为 pi​。现在已知恰好有 r 个人买了东西&#xff0c;在这种条件下&#xff0c;求每个人买到东西的概率。 本题有多组数据&#xff0c;满足测试数据组数不超过 5…

作者头像 李华