C ++中最长的连续递增子序列
假设我们有一个整数数组;我们必须找到最长的连续递增子数组的长度。
因此,如果输入类似于[2,4,6,5,8],则输出将为3。因为最长的连续递增子序列为[2,4,6],并且其长度为3。
为了解决这个问题,我们将遵循以下步骤-
如果nums的大小<=1,则-
返回的数字大小
答案:=1,计数:=1
对于初始化i:=0,当i<nums大小时,更新(将i增加1),执行-
数:=1
(增加1)
答案:=答案和计数的最大值
如果nums[i]<nums[i+1],则-
除此以外
返回答案
让我们看下面的实现以更好地理解-
示例
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
int findLengthOfLCIS(vector<int>& nums) {
if (nums.size() <= 1)
return nums.size();
int answer = 1, count = 1;
for (int i = 0; i < nums.size() - 1; i++) {
if (nums[i] < nums[i + 1]) {
count++;
answer = max(answer, count);
}
else {
count = 1;
}
}
return answer;
}
};
main(){
Solution ob;
vector<int> v = {2,4,6,5,8};
cout << (ob.findLengthOfLCIS(v));
}输入值
{2,4,6,5,8}输出结果
3