674. Longest Continuous Increasing Subsequence
问题:
求给定数组中,最长连续递增子数组
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.
解法:
从第二项开始轮询数组,
当该项大于前一项,则当前记录子数组长度curres++
反之,curres=1当前子数组长度回归重新记录 1,并同时去curres和历来res的最大值 res=max(res, curres)
参考代码:
1 class Solution { 2 public: 3 int findLengthOfLCIS(vector<int>& nums) { 4 int i, res=1, curres=1; 5 if(nums.size()<1) return 0; 6 for(i=1; i<nums.size(); i++){ 7 if(nums[i]>nums[i-1]){ 8 curres++; 9 }else{ 10 curres=1; 11 } 12 res=max(res,curres); 13 } 14 return res; 15 } 16 };