解题思路: 遍历一遍,保存一个全局的最大长度,复杂度为O(n)
#include<iostream>
#include <vector>
using namespace std;
int longest_subarray(vector<int> data){
int current = 1;
int size = data.size();
int res = 1;
for (int i = 1; i < size; i++)
{
if (data[i]>data[i - 1])
{
current++;
}
else{
if (current > res)
{
res = current;
}
current = 1;
}
}
return res;
}
int main()
{
int data[] = { 2, 4, 3, 6, 3, 2, 5, 5 };
vector<int> vec(data,data+8);
int result = longest_array(vec);
printf("%d\n", result);
getchar();
return 0;
}
本文介绍了一种寻找给定整数数组中最长递增子数组的方法。通过一次遍历实现,记录并返回最大递增子数组的长度。该算法的时间复杂度为O(n),适用于寻找数组中连续递增元素的最大序列。
2377

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



