leetcode 712 Minimum ASCII Delete Sum for Two Strings

LeetCode --- 712. Minimum ASCII Delete Sum for Two Strings 解题报告 Given two stringss1, s2, find the lowest ASCII sum of deleted characters to make two strings equal. Example 1: Input: s1 = "sea", s2 = "eat" Output: 231 Explanation: Deleting "s" from "sea" adds t... 阅读详情

Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two strings equal.

Example 1:
Input: s1 = “sea”, s2 = “eat”
Output: 231
Explanation: Deleting “s” from “sea” adds the ASCII value of “s” (115) to the sum.
Deleting “t” from “eat” adds 116 to the sum.
At the end, both strings are equal, and 115 + 116 = 231 is the minimum sum possible to achieve this.
Example 2:
Input: s1 = “delete”, s2 = “leet”
Output: 403
Explanation: Deleting “dee” from “delete” to turn the string into “let”,
adds 100[d]+101[e]+101[e] to the sum. Deleting “e” from “leet” adds 101[e] to the sum.
At the end, both strings are equal to “let”, and the answer is 100+101+101+101 = 403.
If instead we turned both strings into “lee” or “eet”, we would get answers of 433 or 417, which are higher.
Note:

0 < s1.length, s2.length <= 1000.
All elements of each string will have an ASCII value in [97, 122].

动态规划的经典问题,计算两个字符串之间的编辑距离,只不过这里变成了字符的ASCII码值距离,关键的状态转移方程如下, 时间复杂度O(n^2):

//若相等编辑距离不变
if (s1[i-1] == s2[j-1]) {
    dp[i][j] = dp[i - 1][j - 1];
} else {
//若不等则有两种情况,取最优的那种情况
    dp[i][j] =min(dp[i][j-1]+s2[j-1], dp[i - 1][j ]+s1[i-1]);
}
class Solution {
public:
    int minimumDeleteSum(string s1, string s2) {
        vector<int> t(s2.size()+1);
        vector<vector<int>> dp;
        for (int i = 0; i < s1.size()+1; i++) {
            dp.push_back(t);
        }
        for (int i = 0; i < s1.size(); i++) {
            for (int j = 0; j < s2.size(); j++) {
                dp[i][j] = INT_MAX;
            }
        }
        dp[0][0] = 0;
        for (int i = 1; i <= s2.size(); i++) {
            dp[0][i] = dp[0][i-1]+s2[i-1];
        }
        for (int i = 1; i <= s1.size(); i++) {
            dp[i][0] =dp[i-1][0]+s1[i-1];
        }
        for (int i = 1; i <= s1.size(); i++) {
            for (int j = 1; j <= s2.size(); j++) {
                if (s1[i-1] == s2[j-1]) {
                    dp[i][j] = dp[i - 1][j - 1];
                }
                else {
                    dp[i][j] =min(dp[i][j-1]+s2[j-1], dp[i - 1][j ]+s1[i-1]);
                }
            }
        }
        return dp[s1.size()][s2.size()];
    }

};
STM32F429网络通信避坑指南:用CubeMX搞定LAN8720+LWIP+FreeRTOS(附完整代码) 本文详细介绍了STM32F429通过CubeMX配置LAN8720+LWIP+FreeRTOS实现网络通信的避坑指南,涵盖硬件连接、CubeMX配置、LWIP优化及调试技巧,提供完整代码和实战经验,帮助开发者高效解决以太网通信中的常见问题。 阅读详情

相关推荐

如何编译RustDesk(Unbuntu 和Android版本)

备注:官方文档上,一边都是基于sciter,这个在后面已经不建议使用了,但是依然可以编译刚开始的时候看官方的文档,涉及的东西比较多,也搞的一头雾水,通过B站上一个视频,可以通过CI/CD来编译,以及act本地试试(最终放弃,大概需要下载大几十G的容器下来)。最终总算明确了方向,可以用自动化流水线来编译。直接看CI/CD的脚本文件文件在.github/workflows目录下,重点研究 bridge.yml 和flutter-build.yml 这两个文件。

lvronglee的专栏 2547

[leetcode] 712. Minimum ASCII Delete Sum for Two Strings

Description Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two strings equal. Example 1: Input: s1 = "sea", s2 = "eat" Output: 231 Explanation: Deleting "s" from "se...

Learning from the mistakes 289

Python爬取腾讯视频m3u8加密流实战(附完整代码)

本文提供了一份详细的Python实战教程,指导如何通过抓包分析、模拟请求头与载荷,破解腾讯视频的m3u8加密流防盗链机制,并附上完整代码实现视频片段的下载与合并。教程涵盖从侦察到代码实现的完整流程,并包含参数动态化、多线程下载等高级技巧与避坑指南,旨在帮助开发者掌握流媒体下载的核心技术。

weixin_29090089的博客 1589

leetcode -- 712. Minimum ASCII Delete Sum for Two Strings

Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two strings equal. Example 1: Input: s1 = "sea", s2 = "eat" Output: 231 Explanation: Deleting "s" from "sea" adds the...

猪の成长日记 212

32位MIPS流水线CPU设计

32位MIPS流水线CPU设计(vivado)

m0_51320209的博客 3199

Ovito隐藏技巧:用Expression Selection快速提取分子链(附模糊背景配置参数)

本文详细介绍了Ovito软件中Expression Selection功能的隐藏技巧,用于从复杂的分子动力学模拟数据中快速、精准地提取目标分子链。通过结合Expand Selection和Invert Selection等修饰器,形成一套高效的工作流,并深入解析了实现SCI论文级渲染效果的景深模糊参数配置,帮助研究者大幅提升数据处理与图片生成效率。

pz890123的博客 867

编辑距离 动态规划

72. 编辑距离 给你两个单词word1和word2,请你计算出将word1转换成word2所使用的最少操作数。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例1: 输入:word1 = "horse", word2 = "ros" 输出:3 解释: horse -> rorse (将 'h' 替换为 'r') rorse -> rose (删除 'r') rose -> ros (删除 'e') 示...

TranSad的博客 356

7、RNA 二级结构预测:包含接吻发夹基序的新策略

本文提出三种用于预测RNA二级结构中接吻发夹基序的新策略,结合规范化规则与非歧义动态规划,分别在时间与空间复杂度之间进行权衡。策略A以O(n⁴)时间和O(n²)空间实现高效预测;策略B通过存储次优结果扩大搜索空间,空间复杂度升至O(n³);策略C全面探索组合可能,时间复杂度为O(n⁵),但保持O(n²)空间。实验表明不同策略适用于不同复杂度的序列,为RNA结构预测提供了灵活且可扩展的解决方案。

j7k8l的博客 132

leetcode 712 Minimum ASCII Delete Sum for Two Strings 详细解答

leetcode 712 Minimum ASCII Delete Sum for Two Strings 详细解答 解法1 这个题牵涉到两个数组的一些比较关系,会想到用动态规划求解。 至于怎么求解,这里说的是删到的字母ASCII码之和,这里换个思路可以求两个字符串所有字母的ASCII码之和减去两个字符串相同子序列出现的字母的ASCII码值之和。 所以状态转移方程就是求两个字符串相同序列的和。 F( i+1, j+1 ) 表示字符串 s1[0 … i] 和 s2[0 … j]相同子序列ASCII的和。

qq_22210659的博客 286

博途PLC模糊PID控制(附SCL完整源代码)

操作人员根据对象的当前状态和以往的控制经验,用手动控制的方法给出适当的控制量,对被控对象进行控制。用电脑模拟操作人员手动控制的经验,对被控对象进行控制。用模糊数学的知识模仿人脑的思维方式,对模糊现象进行识别和判决,给出精确的控制量,对被控对象进行控制。与经典控制理论和现代控制理论相比,模糊控制的特点是不需要建立对象的精确模型。根据操作人员手动控制的经验,总结的完整控制规则,在根据系统当前的运行状态,经过模糊推理,模糊判决等运算,求出控制量,实现对被控对象的控制。......

RXXW_Dor的博客 8961

华为OD机试2025C卷 - 精准核酸检测 (C++ & Python & JAVA & JS & GO)

华为OD机试2025C卷 精准核酸检测,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1707

LeetCode经典题汇总

动态规划 1. 最长回文子串(LeetCode 5): 给定一个字符串s,找到s中最长的回文子串。 解法:动态规划O(n^2),Manacher算法O(n) 2. 最大子序和(LeetCode 53):给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 解法:动态规划O(n),分治O(nlogn) 3. 最大矩形(LeetCode...

时光匆匆独白 的博客 854

Python爬虫教程:抓取短视频平台数据(以抖音和快手为例)

为什么抓取短视频平台数据?内容分析:通过抓取短视频平台上的视频内容、标题、标签等数据,可以进行内容分类、趋势分析、话题分析等。情感分析:抓取视频的评论数据,并进行情感分析,帮助企业或组织了解公众的情绪反馈。用户行为分析市场监测:通过抓取特定关键词或标签下的视频数据,分析市场趋势,进行竞争对手分析。短视频平台数据类型:视频信息:包括视频标题、描述、标签、作者等。用户信息:包括用户的昵称、粉丝数、关注数等。互动数据评论数据:视频下的用户评论内容及用户信息。

2201_76125261的博客 3660

[leetcode]712. Minimum ASCII Delete Sum for Two Strings

[leetcode]712. Minimum ASCII Delete Sum for Two Strings Analysis new plan~—— [好好养生啊!!] Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two strings equal. 显...

weixin_32135877的博客 126

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Leetcode 712. Minimum ASCII Delete Sum for Two Strings

【代码】Leetcode 712. Minimum ASCII Delete Sum for Two Strings。

小白菜又菜 840

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LeetCode //C - 712. Minimum ASCII Delete Sum for Two Strings

To express something in English, ensure that the language used is clear, concise, and follows standard grammatical rules. Here are some tips to help improve English communication: Practice regularly by reading, writing, speaking, and listening to English c

Made in Code 1669

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LeetCode 712. Minimum ASCII Delete Sum for Two Strings 解题报告(python)

712. Minimum ASCII Delete Sum for Two Strings Minimum ASCII Delete Sum for Two Strings python solution 题目描述 Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two stri...

Orientliu96的博客 338

【LeetCode 712】 Minimum ASCII Delete Sum for Two Strings

题目描述 Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two strings equal. Example 1: Input: s1 = "sea", s2 = "eat" Output: 231 Explanation: Deleting "s" from "sea" adds...

iCode_girl的博客 162

LeetCode 712. Minimum ASCII Delete Sum for Two Strings

Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two strings equal. kind of like edit distance and the LC583. now, we are not asking to delete as less characters as possible to make them equal. as a matter of fact, consider

Tech in Pieces 417

【leetcode】712. Minimum ASCII Delete Sum for Two Strings

题目描述: https://leetcode.com/problems/minimum-ascii-delete-sum-for-two-strings/ 题目大意: 分别在两个字符串s1、s2中删去一些字符,使得两个字符串剩余的子串相同。求删去的字符ASCII码数之和最小值。 解题方法: 这道题是LCS最长公共子串的变式,求删去字符ASCII码数之和最小,也就是求字符ASCII码之和最大的公共子串。 在LCS问题中,我们构建dp矩阵,行数为s1字符串长度+1,列数为s2字符串长度+1,dp

qq_36294507的博客 156

[Leetcode] 712. Minimum ASCII Delete Sum for Two Strings 解题报告

题目: Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two strings equal. Example 1: Input: s1 = "sea", s2 = "eat" Output: 231 Explanation: Deleting "s" fro

魔豆(Magicbean)的博客 331

LeetCode 712 Minimum ASCII Delete Sum for Two Strings (dp)

Given two stringss1, s2, find the lowest ASCII sum of deleted characters to make two strings equal. Example 1: Input: s1 = "sea", s2 = "eat" Output: 231 Explanation: Deleting "s" from "sea" adds t...

Tc的专栏 279
上一篇: 算法分析与设计期中测试——拓扑序[Special judge]
下一篇: LeetCode 647 Palindromic Substrings
wenkun97
博客等级 码龄10年 15粉丝 139原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值