数组674. 最长连续递增序列

Posted ocpc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组674. 最长连续递增序列相关的知识,希望对你有一定的参考价值。

题目:

技术图片

 

 

解答:

思路:滑动窗口。

每个(连续)增加的子序列是不相交的,并且每当 nums[i-1]>=nums[i] 时,每个此类子序列的边界都会出现。当它这样做时,它标志着在 nums[i] 处开始一个新的递增子序列,我们将这样的 i 存储在变量 anchor 中。
例如,如果 nums=[7,8,9,1,2,3],那么 anchor 从 0 开始(nums[anchor]=7),并再次设置为 anchor=3(nums[anchor]=1)。无论 anchor 的值如何,我们都会记录 i-anchor+1 的候选答案、子数组 nums[anchor]、nums[anchor+1]、…、nums[i] 的长度,并且我们的答案会得到适当的更新。

 1 class Solution {
 2 public:
 3     int findLengthOfLCIS(vector<int>& nums) 
 4     {
 5         int ans = 0;
 6         int anchor = 0;
 7         for (int i = 0; i < nums.size(); ++i)
 8         {
 9             if (i > 0 && nums[i-1] >= nums[i]) 
10             {
11                 anchor = i;
12             }
13             ans = std::max(ans, i - anchor + 1);
14         }
15         return ans;
16     }
17 };

 

以上是关于数组674. 最长连续递增序列的主要内容,如果未能解决你的问题,请参考以下文章

[编程题] lc:[674 最长连续递增序列

Leetcode 674.最长递增序列

数组674. 最长连续递增序列

674. 最长连续递增序列

674. 最长连续递增序列

LeetCode 674. 最长连续递增序列(Longest Continuous Increasing Subsequence) 18