题目
给定一个未经排序的整数数组,找到最长且连续的的递增序列。
示例 1:
输入: [1,3,5,4,7]
输出: 3
解释: 最长连续递增序列是 [1,3,5], 长度为3。
尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。
示例 2:
输入: [2,2,2,2,2]
输出: 1
解释: 最长连续递增序列是 [2], 长度为1。
注意:数组长度不会超过10000。
我的思路
这题比较简单,运用简单的循环遍历,加计数器即可。
代码
//
// Created by HINTS on 2018/12/18.
//
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int findLengthOfLCIS(vector<int> &nums){
int maxLength = 0;
int count = 1;
int i = 0;
while (i < nums.size() - 1){
if(nums[i] < nums[i+1]){
count++;
}else {
maxLength = max(count, maxLength);
count = 1;
}
i++;
}
return max(count, maxLength);
}
int main674(){
vector<int> nums = {1,3,5,7};
cout << findLengthOfLCIS(nums)<<endl;
return 0;
}