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

算法训练营day58

题目1:392. 判断子序列 - 力扣(LeetCode)

暴力解法

class Solution {
public:bool isSubsequence(string s, string t) {if(s.size() > t.size()) return false;if(s.size() < t.size()) {swap(s, t);}bool reslut = false;int flag = 0;bool findflag = false;for(int i = 0;i < t.size();i++) {for(;flag < s.size();flag++) {if(s[flag] == t[i]) {flag++;findflag = true;break;}}if(findflag) {findflag = false;}else return false;}return true;}
};

动态规划,其实和之前最长公共子序列一样,只不过最后就是比较以下dp数组的值是否和字符串s的长度相同

class Solution {
public:bool isSubsequence(string s, string t) {if(s.size() > t.size()) return false;vector<vector<int>> dp(s.size() + 1, vector<int>(t.size() + 1));for(int i = 1;i <= s.size();i++) {for(int j = 1;j <= t.size();j++) {if(s[i - 1] == t[j - 1]) {dp[i][j] = dp[i - 1][j - 1] + 1;}else {dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);// 这里其实 = dp[i][j - 1]就可以                }}}if(dp[s.size()][t.size()] == s.size()) return true;else return false;}
};

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

相关文章:

  • JAVA面试中,面试官最爱问的问题。
  • 【机器学习300问】115、对比K近邻(KNN)分类算法与逻辑回归分类算法的差异与特性?
  • Selenium IDE 工具
  • python的open函数
  • 德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第六周) - 预训练模型
  • 【Redis】Redis常见问题——缓存更新/内存淘汰机制/缓存一致性
  • 【redis】redis事务
  • 编程入门费用:揭开学习成本的神秘面纱
  • js/javascript获取时间戳的5种方法
  • window系统下为django自动绘制模型类关系图
  • Redis的数据淘汰策略和集群部署
  • 解决CentOS 7无法识别ntfs的问题
  • 排名前五的 Android 数据恢复软件
  • Java 程序结构 -- Java 语言的变量、方法、运算符与注释
  • 淘宝/天猫商品详情优惠券获取API 接口
  • Vue前端ffmpeg压缩视频再上传(全网唯一公开真正实现)
  • 样式的双向绑定的2种方式,实现样式交互效果
  • 供应链经理面试题
  • 快速理解 Node.js 版本差异:3 分钟指南
  • 【Qt实现录频】
  • Golang编译导致的代码错觉
  • SpringBoot整合H2数据库并将其打包成jar包、转换成exe文件
  • web前端文本大小:从入门到精通的全方位解析
  • 【报文数据流中的反压处理】
  • 数据挖掘丨轻松应用RapidMiner机器学习内置数据分析案例模板详解(下篇)
  • 时代巨兽!深度神经网络如何改变我们的世界?
  • LVS+Keepalived高可用负载均衡群集
  • 【MySQL】MySQL45讲-读书笔记
  • python:faces swap
  • Android开发之音乐播放器添加排行需求