标签:题目 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 };
标签:题目 mamicode 并且 变量 size 技术 hellip width 序列
原文地址:https://www.cnblogs.com/ocpc/p/12827605.html