674. Longest Continuous Increasing Subsequence

来源:互联网 发布:飞科剃须刀怎么样 知乎 编辑:程序博客网 时间:2024/05/01 03:49

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

Example 1:Input: [1,3,5,4,7]Output: 3Explanation: 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: 1Explanation: The longest continuous increasing subsequence is [2], its length is 1. Note: Length of the array will not exceed 10,000.

myfist:

class Solution {public:    int findLengthOfLCIS(vector<int>& nums) {        int longest=0;        int pl=1;        int value;        if(nums.size()==0)  return 0;               if(nums.size()==1)  return 1;        for(int i=0;i<nums.size()-1;i++)        {                 value=nums[i];             for(int j=i+1;j<nums.size();j++)              {                 if(value<nums[j]){                    value=nums[j];                    pl++;                      if(j==nums.size()-1) {                        if(pl>longest){  longest=pl;  return longest; }                         else return longest;                    }                                }               else {                                    if(pl>longest){ longest=pl; pl=1;}                     else pl=1;                       break;                            }                 }        }    return longest;    }};

原作者:Vincent Cai

  int findLengthOfLCIS(vector<int>& nums) {        int res = 0, cnt = 0;        for(int i = 0; i < nums.size(); i++){            if(i == 0 || nums[i-1] < nums[i]) res = max(res, ++cnt);            else cnt = 1;        }        return res;    }
原创粉丝点击