代码随想录算法训练营第四十八天|leetcode72、583题

devtools/2024/10/22 16:27:45/

一、leetcode第583题

本题要求删除两个单词中的字母使得剩余字母均相同,因此设置dp数组,dp[i][j]的含义是0-(i-1)个字母和0-(j-1)个字母相同时需要删除的最少次数。递推公式在word1[i-1]=word2[j-1]时,dp[i][j]=dp[i-1][j-1], 不相同时dp[i][j]=min(dp[i-1][j]+1,dp[i][j-1])。

具体代码如下:

class Solution {
public:int minDistance(string word1, string word2) {vector<vector<int>>dp(word1.length()+1,vector<int>(word2.length()+1,0));for(int i=0;i<=word1.length();i++){dp[i][0]=i;}for(int j=0;j<=word2.length();j++){dp[0][j]=j;}for(int i=1;i<=word1.length();i++){for(int j=1;j<=word2.length();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[word1.length()][word2.length()];}
};

二、leetcode第72题

本题要求对两个单词操作使得两个单词剩余字母相等,与上题不同之处在于操作包括增添、删除和替换三种,因此在word1[i-1]!=word2[j-1]时递推式变为dp[i][j]=min(dp[i-1][j]+1,dp[i][j-1]+1,dp[i-1][j-1]+1),也就是加上了替换的操作。

具体代码如下:

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


http://www.ppmy.cn/devtools/6234.html

相关文章

浏览器工作原理与实践--HTTPS:让数据传输更安全

浏览器安全主要划分为三大块内容&#xff1a;页面安全、系统安全和网络安全。前面我们用四篇文章介绍了页面安全和系统安全&#xff0c;也聊了浏览器和Web开发者是如何应对各种类型的攻击&#xff0c;本文是我们专栏的最后一篇&#xff0c;我们就接着来聊聊网络安全协议HTTPS。…

探索设计模式的魅力:开启智慧之旅,AI与机器学习驱动的微服务设计模式探索

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索AI与机器学习驱动的微服务设计模式之旅✨ 亲爱的科技爱好者们&#xff0c;有没…

香港服务器_免备案服务器有哪些正规的?企业、建站方向

香港服务器&#xff0c;是最受欢迎的外贸、企业建站服务器&#xff0c;在个人建站领域&#xff0c;香港服务器、香港虚拟主机都是首选的网站服务器托管方案&#xff0c;不仅其具备免备案的特点&#xff0c;而且国内外地区访问速度都很快。那么&#xff0c;现今2024年个人和企业…

【MySQL 安装与配置】Window简单安装MySQL,并配置局域网连接

文章日期&#xff1a;2024.04.17 系统&#xff1a;Window10 || Window11 类型&#xff1a;安装与配置MySQL数据库 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解密处理&#xff08;直接解密即可&#xff09;&#xff08;crypto-js.js…

Git回滚版本并push到远端master

1、查看日志 git log 2、还原最近的版本 () --git reset --hard commit-id 如&#xff1a;git reset --hard d84da14bf2743683eca7a015f56114faaa344f42 3、覆盖分支版本 git push -f origin dev 回滚本地master完成后&#xff0c;将回滚后的代码push到远端master&#xf…

2024年4月份微软安全通告

文章目录 一、漏洞概要二、漏洞数据分析1、2024年漏洞数量趋势2、历史微软补丁日4月漏洞对比三、重要漏洞分析1、漏洞分析2、影响范围四、解决方案一、漏洞概要 2024年4月10日(北京时间),微软发布了安全更新,共发布了155个CVE的补丁程序,同比上月增加了91个。 在漏洞安全…

全国产化无风扇嵌入式车载电脑农耕车辆/钢厂天车行业应用

农耕车辆行业应用 背景介绍 当前农耕车车载电脑主要的功能&#xff0c;是要实现农耕车的精确的定位和导航&#xff0c;更加先进的系统则要实现农耕车自动驾驶&#xff0c;与农耕车上相关传感器的通讯(例如耕土深度的传感器, 油量存量传感器…)来实现更多的自动化、信息化的功能…

如何安装 IntelliJ IDEA 最新版本——详细教程

IntelliJ IDEA 简称 IDEA&#xff0c;被业界公认为最好的 Java 集成开发工具&#xff0c;尤其在智能代码助手、代码自动提示、代码重构、代码版本管理(Git、SVN、Maven)、单元测试、代码分析等方面有着亮眼的发挥。IDEA 产于捷克&#xff0c;开发人员以严谨著称的东欧程序员为主…