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;
}
};
本文介绍了一种算法,用于在未排序整数数组中查找最长连续递增子序列的长度。通过遍历数组并使用计数器来跟踪当前递增子序列的长度,当遇到不满足递增条件的元素时,计数器重置为1,并在每次迭代中更新已知的最大长度。
4294

被折叠的 条评论
为什么被折叠?



