LeetCode--674. Longest Continuous Increasing Subsequence

Given an unsorted array of integers, find the length of longest continuous increasing subsequence (subarray).

Example 1:

Input: [1,3,5,4,7]
Output: 3
Explanation: The longest continuous increasing subsequence is [1,3,5], its length is 3. 
Even though [1,3,5,7] is also an increasing subsequence, it's not a continuous one where 5 and 7 are separated by 4. 

Example 2:

Input: [2,2,2,2,2]
Output: 1
Explanation: The longest continuous increasing subsequence is [2], its length is 1. 

Note:Length of the array will not exceed 10,000.


题意:给定一个数组求其最长连续递增子序列的长度。

思路:

1.设置一个计数器cnt(初始化为1)用来表示当前最大连续子序列的长度,每次碰到第i项大于第i-1项,cnt加一,否则cnt置一,最后返回最大值即可。

2.注意数组可能为空,特判即可。

参考代码:

class Solution {
public:
    int findLengthOfLCIS(vector& nums) {
        int n=nums.size(),cnt=1,mx=1;
        if(n==0) return 0;
        for(int i=1;inums[i-1]) 
                ++cnt;
            else cnt=1;
            mx=max(mx,cnt);
        }
        return mx;
    }
};

你可能感兴趣的:(Leetcode题解,动态规划,最长不下降子序列)