当前位置: 首页 > news >正文

代码随想录算法训练营第四十七天|leetcode115、392题

一、leetcode第392题

本题要求判断s是否为t的子序列,因此设置dp数组,dp[i][j]的含义是下标为i-1的子串与下标为j-1的子串相同字符的个数,可得递推公式是通过s[i-1]和t[j-1]是否相等区分。

具体代码如下:

class Solution {
public:bool isSubsequence(string s, string t) {vector<vector<int>>dp(s.length()+1,vector<int>(t.length()+1,0));for(int i=1;i<=s.length();i++){for(int j=1;j<=t.length();j++){if(s[i-1]==t[j-1]){dp[i][j]=dp[i-1][j-1]+1;}else{dp[i][j]=dp[i][j-1];}}}if(dp[s.length()][t.length()]==s.length()){return true;}return false;}
};

二、leetcode第115题

本题要求s的子串与t相等的个数,因此设置dp数组,其中dp[i][j]的含义是i-1为下标的子串中包含j-1为下标的子串的个数,根据s[i-1]和t[j-1]是否相等来写递推公式,相等时递推公式dp[i][j]由dp[i-1][j-1](考虑s[i-1])和dp[i-1][j](不考虑s[i-1])构成,不相等时则等于不考虑s[i-1]时的递推式。

具体代码如下:

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

http://www.lryc.cn/news/339189.html

相关文章:

  • 将Ubuntu18.04默认的python3.6升级到python3.8
  • Python和Java哪个更适合后端开发?
  • Python+pytest接口自动化之cookie绕过登录(保持登录状态)
  • 什么数据集成(Data Integration):如何将业务数据集成到云平台?
  • 国外EDM邮件群发多少钱?哪个软件好?
  • C语言入门算法——回文数
  • OceanBase—操作实践
  • 智慧用电安全管理系统
  • Rust语言入门第二篇-Cargo教程
  • 测试用例的编写方式
  • HarmonyOS实战开发-状态管理、通过使用页面级的状态变量 和应用级的状态变量 来实现应用的状态管理。
  • 【Java开发指南 | 第二篇】标识符、Java关键字及注释
  • 3D可视化技术:研发基地的科技新篇章
  • 蓝旭前端05:JavaScript进阶
  • 【docker-compose】安装及配置
  • 【第十五届】蓝桥杯省赛C++b组
  • thinkphp6 Driver [Think] not supported.
  • 爱自然生命力专项基金:“爱·启航”残障家庭教育援助项目帮扶上万残障家庭
  • 【ubuntu】如何追加path
  • 用html写一个有趣的鬼魂动画
  • 【C++软件调试技术】C++软件开发维护过程中典型调试问题的解答与总结
  • Pygame经典游戏:贪吃蛇
  • 推荐一个免费使用Claude 3, GPT4和Gemini 1.5 Pro的网站
  • An Investigation of Geographic Mapping Techniques for Internet Hosts(2001年)第二部分
  • 解锁生成式 AI 的力量:a16z 提供的 16 个企业指南
  • Kylin使用心得
  • CentOS7使用Docker搭建Joplin Server并实现多端同步与公网使用本地笔记
  • C语言100道练习题打卡(1)
  • 5G-A有何能耐?5G-A三载波聚合技术介绍
  • 理解Go语言中上下文