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个元素有关。

相关推荐
leaves falling5 分钟前
冒泡排序(基础版+通用版)
数据结构·算法·排序算法
老鼠只爱大米10 分钟前
LeetCode算法题详解 56:合并区间
leetcode·并查集·合并区间·区间合并·线性扫描·算法面试
蜗牛去旅行吧27 分钟前
面试宝典集锦
面试·职场和发展
C雨后彩虹28 分钟前
无向图染色
java·数据结构·算法·华为·面试
坚持就完事了35 分钟前
扫描线算法
算法
鱼跃鹰飞38 分钟前
Leetcode尊享面试100题:252. 会议室
算法·leetcode·面试
教游泳的程序员38 分钟前
【面试问题精选】java开发工程师
python·面试·职场和发展
程序员-King.39 分钟前
二分查找——算法总结与教学指南
数据结构·算法
Zevalin爱灰灰40 分钟前
现代控制理论——第三章 线性控制系统的能控性和能观性
线性代数·算法·现代控制
kklovecode42 分钟前
C语言之头文件,宏和条件编译
c语言·开发语言·算法