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