题目描述:
Given an unsorted array of integers, find the length of longest continuous
increasing subsequence (subarray).
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.
要完成的函数:
int findLengthOfLCIS(vector<int>& nums)
说明:
1、这道题目给了一个vector,要求找到里面最长的连续升序子vector,返回它的长度,十分容易的一道题。
2、笔者的想法是,从第一位开始找起,迭代下去,直到下一个元素小于等于当前元素,把长度记录下来。
接着从下一个元素开始找起,直到又不满足升序的条件,然后记录长度,与上次得到的长度比较,保留大的数值。
一直处理,直到vector的最后一位。
代码如下:
int findLengthOfLCIS(vector & nums) { int length=1,i=0,s1=nums.size(),max1=1; if(s1==0) return 0; while(i
上述代码实测16ms,beats 69.47% of cpp submissions。