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

Day45:300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

文章目录

    • 300.最长递增子序列
      • 思路
      • 代码实现
    • 674. 最长连续递增序列
      • 思路
      • 代码实现
    • 718. 最长重复子数组
      • 思路
      • 代码实现


300.最长递增子序列

题目链接

思路

  1. 单个字符都是一个长为1的子序列,直接初始化dp为1。
  2. 先固定一个元素位置i,判断0-i范围内到i的最长子序列,这时nums[i]需要依次和前面每个元素相比较,如果nums[i]比某个元素nums[j]大,则最长子序列在dp[j]的前提下长度加1.
  3. 记录每次dp[i]更新时记录最大序列长度result

代码实现

class Solution {
public:int lengthOfLIS(vector<int>& nums) {vector<int> dp(nums.size(),1);int result=1;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(result<dp[i])result=dp[i];}return result;}
};

674. 最长连续递增序列

题目链接

思路

思路和上一题差不多,不过上一题范围比较广0-i范围内可以跳跃性构成子序列,但这道题必须相邻,所以判断条件改为nums[i]>nums[i-1]即可。

代码实现

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

718. 最长重复子数组

题目链接

思路

这道题实在是妙,第一次写真的有人可以想出来吗。
思路就不写了,看图自然能秒懂:
在这里插入图片描述

代码实现

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 result=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]>result)result=dp[i][j];}} return result;}
};

相关文章:

  • Node.js下载安装及配置镜像源
  • vivo开发者链接
  • 机器学习/sklearn 笔记:K-means,kmeans++,MiniBatchKMeans,二分Kmeans
  • python .pyc文件(字节码文件)(字节码与机器码区别)
  • C++知识点总结(7):玩转高精度除法
  • JAVA后端开发技术报告
  • 【Pytorch】Visualization of Fature Maps(2)
  • electron 问题记录
  • 大数据学习(23)-hive on mapreduce对比hive on spark
  • 性能压测工具:wrk
  • 报错0x0000007b问题解决
  • 【经典小练习】输出文件路径名
  • Vue中的$nextTick的作用
  • QT visual stdio加载动态库报错126问题
  • 【代码随想录】算法训练计划28
  • [译]CSS 居中(Center)方法大合集
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • github指令
  • Java的Interrupt与线程中断
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • MobX
  • MySQL数据库运维之数据恢复
  • python 装饰器(一)
  • vue 个人积累(使用工具,组件)
  • vue-loader 源码解析系列之 selector
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 批量截取pdf文件
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 设计模式(12)迭代器模式(讲解+应用)
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • FaaS 的简单实践
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #宝哥教你#查看jquery绑定的事件函数
  • (175)FPGA门控时钟技术
  • (30)数组元素和与数字和的绝对差
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转载)Google Chrome调试JS
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .Net6使用WebSocket与前端进行通信
  • .NET中的十进制浮点类型,徐汇区网站设计
  • @在php中起什么作用?
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [bzoj 3124][sdoi 2013 省选] 直径
  • [bzoj1006]: [HNOI2008]神奇的国度(最大势算法)
  • [bzoj2957]楼房重建
  • [Docker]五.Docker中Dockerfile详解
  • [E单调栈] lc2487. 从链表中移除节点(单调栈+递归+反转链表+多思路)
  • [HDU] 1054 Strategic Game 入门树形DP
  • [HITCON 2017]SSRFme perl语言的 GET open file 造成rce