给定一个未经排序的整数数组,找到最长且连续的的递增序列。

思路

连序的子序列,所以,这个问题当前的状态依赖于之前的状态,
当nums[i] > nums[i] - 1的时候可以累加,
否则就从头开始。

而一个变量n就可以代表这个问题了。

代码

class Solution {
   
public:
    int findLengthOfLCIS(vector<int>& nums) {
   
        if (nums.size() == 0) return 0;
        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;
    }
};