首页 > 其他 > 详细

674. Longest Continuous Increasing Subsequence

时间:2020-04-04 19:07:37      阅读:51      评论:0      收藏:0      [点我收藏+]

问题:

求给定数组中,最长连续递增子数组

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 };

 

674. Longest Continuous Increasing Subsequence

原文:https://www.cnblogs.com/habibah-chang/p/12632755.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!