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

算法训练第五十二天

718. 最长重复子数组 - 力扣(LeetCode)

class Solution {
public:int findLength(vector<int>& nums1, vector<int>& nums2) {vector<vector<int>> dp(nums1.size() + 1,vector<int>(nums2.size() + 1,0));int res = 0;for(int i = 1;i <= nums1.size();i++){for(int j = 1;j <= nums2.size();j++){if(nums1[i - 1] == nums2[j - 1])dp[i][j] = dp[i - 1][j - 1] + 1;if(dp[i][j] > res)res = dp[i][j];}}return res;}
};//需要复习

674. 最长连续递增序列 - 力扣(LeetCode)

class Solution {
public:int findLengthOfLCIS(vector<int>& nums) {if(nums.size() == 1)return 1;vector<int> dp(nums.size(),1);int res = 0;for(int i = 1;i < nums.size();i++){if(nums[i] > nums[i - 1])dp[i] = dp[i - 1] + 1;if(dp[i] > res)res = dp[i];}return res;}
};

300. 最长递增子序列 - 力扣(LeetCode)

代码:

class Solution {
public:int lengthOfLIS(vector<int>& nums) {if(nums.size() == 1)return 1;vector<int> dp(nums.size(),1);int res = 0;for(int i = 1;i < nums.size();i++){for(int j = 0;j < i;j++){if(nums[i] > nums[j])dp[i] = max(dp[i],dp[j] + 1);}if(dp[i] > res)res = dp[i];}return res;}
};

总结:注意递增子序列和连续递增子序列之间的差别,一个是从前面一个加1取得,一个是从前面的所有里面取得。

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

相关文章:

  • LeetCode——回溯篇(三)
  • Python爬取京东商品评论
  • ROS机器人编程---------(一)安装ROS
  • Maven入门教程(一):安装Maven环境
  • CSS中可继承与不可继承属性
  • Vscode画流程图
  • 【K8S系列】深入解析k8s网络插件—Cilium
  • OpenCV(十六):高斯图像金字塔
  • Nginx配置及优化3
  • 网络直播源码UDP协议搭建:为平台注入一份力量
  • Ubuntu/linux系统环境变量配置详解
  • kafka配置SASL/PLAIN 安全认证
  • pdf加密如何解除?这样解除加密很简单
  • Ubuntu18.04使用Systemback制作系统镜像并还原
  • OpenCV(十五):拷贝图像
  • 原神世界中的顺序表:派蒙的趣味数据结构讲解
  • 电脑入门:路由器 基本设置操作说明
  • 搜索与图论-拓扑序列
  • 「MySQL-05」MySQL Workbench的下载和使用
  • 编译期jni类型转换成字符串
  • 优秀的ui设计作品(合集)
  • 【c/c++】c和cpp混合编译
  • springboot定制banner
  • Qt 入门实战教程(目录)
  • Ceph入门到精通-Lunix性能分析工具汇总
  • 服务器端使用django websocket,客户端使用uniapp 请问服务端和客户端群组互发消息的代码怎么写的参考笔记
  • 【考研数学】线性代数第四章 —— 线性方程组(2,线性方程组的通解 | 理论延伸)
  • go读取文件的几种方法
  • ChatGPT癌症治疗“困难重重”,真假混讲难辨真假,准确有待提高
  • docker打包vue vite前端项目