LeetCode674:最长连续递增序列

题目链接:674. 最长连续递增序列 - 力扣(LeetCode)

代码如下

复制代码
class Solution {
public:
    int findLengthOfLCIS(vector<int>& nums) {
        //dp[i] 是 以i为结尾的最大连续递增子序列
        //递推公式dp[i] = dp[i - 1] + 1;
        int len = nums.size();
        if(len <= 1)    return len;
        vector<int> dp(len + 1, 1);
        int result = 0;
        dp[0] = 1;
        for(int i = 1; i < len; i++)
        {
            if(nums[i] > nums[i - 1])
                dp[i] = dp[i - 1] + 1;
            if(dp[i] > result)
                result = dp[i];
        }
        
        return result;
    }
};

这个题目其实很好理解,只需要一个for循环就好,因为上一个不连续的需要两层for循环是因为需要有一个参数去在0-i的区间寻找最大值,这个就不需要,递推公式也只需要一个就好。初始化还是1就好

相关推荐
ltl1 小时前
HNSW:图索引如何击败树索引
算法
曹牧3 小时前
C#:数字的定义和表示方式
算法·c#
Nil2083 小时前
leetcode 138随机链表的复制
算法·leetcode·链表
疯狂打码的少年5 小时前
【数据结构】图的遍历:深度优先搜索(DFS)
数据结构·笔记·算法·深度优先
-凌凌漆-6 小时前
【freertos】Task创建(v2)
java·开发语言·算法
Nil2086 小时前
leetcode 24两两交换链表中的节点
算法·leetcode·链表
.格子衫.7 小时前
033动态规划之状态压缩DP——算法备赛
算法·动态规划
ysa0510307 小时前
c++常用自带函数用法与注意
c++·笔记·算法
带多刺的玫瑰8 小时前
Leecode#4刷题之寻找两个正序数组的中位数
java·前端·算法