news 2026/4/18 14:05:25

力扣算法刷题 Day 45

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣算法刷题 Day 45

115 不同的子序列

题目链接

添加链接描述

思路

dp五部曲:

  1. dp数组含义:dp[i][j]表示s1下标从0到i-1和s2下标从0到j-1的匹配的字符串个数
  2. 递推:if(s1[i-1] == s2[j-1]) dp[i][j] = dp[i-1][j-1] + dp[i-1][j]; else dp[i][j] = dp[i-1][j]
  3. 初始化:dp[0][j] = 1,dp[i][0] = 0, dp[0][0] = 1
  4. 遍历顺序:从上到下,从左到右
  5. 举例推导:
文章详解

添加链接描述

classSolution{public:intnumDistinct(string s,string t){vector<vector<uint64_t>>dp(s.size()+1,vector<uint64_t>(t.size()+1));for(inti=0;i<s.size();i++)dp[i][0]=1;for(intj=1;j<t.size();j++)dp[0][j]=0;for(inti=1;i<=s.size();i++){for(intj=1;j<=t.size();j++){if(s[i-1]==t[j-1]){dp[i][j]=dp[i-1][j-1]+dp[i-1][j];}else{dp[i][j]=dp[i-1][j];}}}returndp[s.size()][t.size()];}};

583 两个字符串的删除操作

题目链接

添加链接描述

思路

dp五部曲:

  1. dp数组含义:dp[i][j]表示从dp[i-1]到dp[j-1],所需的最小步数
  2. 递推:`if(dp[i-1] == dp[j-1]) dp[i][j] = dp[i-1][j-1]; else dp[i][j] = dp[i][j] = min(dp[i - 1][j] + 1, dp[i][j - 1] + 1);
  3. 初始化:dp[i][0] = i, dp[0][j] = j;
  4. 遍历顺序:从上到下,从左到右
  5. 模拟:
文章详解

添加链接描述

classSolution{public:intminDistance(string word1,string word2){vector<vector<int>>dp(word1.size()+1,vector<int>(word2.size()+1));for(inti=0;i<=word1.size();i++)dp[i][0]=i;for(intj=0;j<=word2.size();j++)dp[0][j]=j;for(inti=1;i<=word1.size();i++){for(intj=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(dp[i-1][j]+1,dp[i][j-1]+1);}}}returndp[word1.size()][word2.size()];}};

72 编辑距离

题目链接

添加链接描述

思路

dp五部曲:

  1. dp数组含义:dp[i][j]表示s下标0到i-1和t下标0到j-1所需的最小操作数
  2. 递推:if(s[i] == t[j]) dp[i][j] = dp[i-1][j-1];else dp[i][j] = min(dp[i][j-1] + 1,dp[i-1][j] + 1,dp[i-1][j-1] + 1
  3. 初始化:dp[i][0] = i,dp[0][j] = j
  4. 遍历顺序:从上到下从左到右
  5. 模拟:
文章详解

添加链接描述

classSolution{public:intminDistance(string word1,string word2){vector<vector<int>>dp(word1.size()+1,vector<int>(word2.size()+1,0));for(inti=0;i<=word1.size();i++)dp[i][0]=i;for(intj=0;j<=word2.size();j++)dp[0][j]=j;for(inti=1;i<=word1.size();i++){for(intj=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({dp[i-1][j-1],dp[i-1][j],dp[i][j-1]})+1;}}}returndp[word1.size()][word2.size()];}};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 14:02:23

罗技鼠标宏终极指南:5步实现PUBG零后座精准射击

罗技鼠标宏终极指南&#xff1a;5步实现PUBG零后座精准射击 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 在《绝地求生》这款竞技性极强的射击…

作者头像 李华
网站建设 2026/4/18 14:02:13

手把手教你用Python和WMM模型画一张自己的地磁图(附代码)

用Python和WMM模型绘制专业地磁图的完整指南 地磁场可视化是地球科学、航空航天和地质勘探领域的重要技能。想象一下&#xff0c;当你能够用几行代码生成与专业科研机构同等级别的等磁偏角图或等磁力图时&#xff0c;那种成就感绝非普通数据图表可比。本文将带你从零开始&#…

作者头像 李华
网站建设 2026/4/18 13:57:20

D2DX终极指南:让经典暗黑破坏神2在现代PC上焕发新生

D2DX终极指南&#xff1a;让经典暗黑破坏神2在现代PC上焕发新生 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在忍…

作者头像 李华
网站建设 2026/4/18 13:56:06

Figma中文汉化终极指南:免费插件让界面秒变中文

Figma中文汉化终极指南&#xff1a;免费插件让界面秒变中文 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗&#xff1f;作为一名中文设计师&#xff0c;…

作者头像 李华