码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-05-04 19:32:43      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:题目   mamicode   并且   变量   size   技术   hellip   width   序列   

题目:

技术图片

 

 

解答:

思路:滑动窗口。

每个(连续)增加的子序列是不相交的,并且每当 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. 最长连续递增序列

标签:题目   mamicode   并且   变量   size   技术   hellip   width   序列   

原文地址:https://www.cnblogs.com/ocpc/p/12827605.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!