674. 最长连续递增序列

2023-12-26 19:21:46

给定一个未经排序的整数数组,找到最长且?连续递增的子序列,并返回该序列的长度。

连续递增的子序列?可以由两个下标?l?和?rl < r)确定,如果对于每个?l <= i < r,都有?nums[i] < nums[i + 1]?,那么子序列?[nums[l], nums[l + 1], ..., nums[r - 1], nums[r]]?就是连续递增子序列。

示例 1:

输入:nums = [1,3,5,4,7]
输出:3
解释:最长连续递增序列是 [1,3,5], 长度为3。
尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为 5 和 7 在原数组里被 4 隔开。 

示例 2:

输入:nums = [2,2,2,2,2]
输出:1
解释:最长连续递增序列是 [2], 长度为1。
class Solution {
public:
    int findLengthOfLCIS(vector<int>& nums) {
        if(nums.size()==1)
            return 1;
        int start=0;
        int end =start+1;
        int mx=0;
        int n=nums.size();
        while(end<n)
        {
            if(nums[end]>nums[end-1])
            {
                mx=max((end-start),mx);
            }
            else
            {
                start=end;
            }
            ++end;
       }
       return mx+1;
    }
};

文章来源:https://blog.csdn.net/Doubao93/article/details/135228083
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。