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.
思路:
1,空数组返回0
2,从头到尾遍历比较,若是满足递增,计算器+1,否则计数器=1,当计数器大于先前保存的最大的数时,更新最大的数
#pragma once
#include<iostream>
#include<vector>
using namespace std;
class Solution {
public:
int findLengthOfLCIS(vector<int>& nums) {
//数组为空
if (nums.size() == 0)
{
return 0;
}
int maxlen = 1;//最长的
int t = 1;//计数
for (int i = 0; i < nums.size() - 1; i++)
{
//比较
if (nums[i] < nums[i + 1])
{
t++;
}
else {
t = 1;
}
//更新
if (t > maxlen)
{
maxlen = t;
}
}
return maxlen;
}
};