leetcode 674. 最长连续递增序列

2023.8.24

最长递增子序列 类似,不同的是, 本题要求连续序列,所以不需要第二层遍历比较之前所有的元素了,只需要比较上一个元素i-1。 dp[i]的含义为:以nums[i]元素为结尾的序列的最长递增子序列。 注意这里是以i为结尾,而不是i之前的元素。 代码如下:

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

本题与最长递增子序列 的区别在于:不连续递增子序列和前i-1个元素都有关,而连续递增子序列只和前1个元素有关。

相关推荐
leiming613 小时前
c++ map容器
开发语言·c++·算法
杨校13 小时前
杨校老师课堂备赛C++信奥之模拟算法习题专项训练
开发语言·c++·算法
世洋Blog13 小时前
AStar算法基础学习总结
算法·面试·c#·astar·寻路
haing201913 小时前
七轴协作机器人运动学正解计算方法
算法·机器学习·机器人
谈笑也风生14 小时前
把二叉搜索树转换为累加树(一)
算法
youngee1114 小时前
hot100-64跳跃游戏
算法·游戏
POLITE315 小时前
Leetcode 19. 删除链表的倒数第 N 个结点 JavaScript (Day 11)
javascript·leetcode·链表
liu****15 小时前
机器学习-线性回归
人工智能·python·算法·机器学习·回归·线性回归
智者知已应修善业15 小时前
【数组删除重复数据灵活算法可修改保留重复数量】2024-3-4
c语言·c++·经验分享·笔记·算法