长度最小的子数组——滑动窗口法

长度最小的子数组——滑动窗口法

LeetCode209
题目描述:
长度最小的子数组——滑动窗口法_第1张图片
注意题目说的是连续的子数组,所以这道题最简单的做法应该是滑动窗口,时间复杂度O(n),空间复杂度O(1)。定义左右指针分别为left和right表示窗口的起始位置和终止位置,初始都指向0,并用sum变量记录当前滑动窗口所有元素之和,minNum表示滑动窗口的最小长度。left指针先不动,将right指针后移并更新sum的值,若sum>=target,则更新minNum的值,并且此时将sum减去left指向的值,将left后移,直到sum>=target的条件不满足时,继续加入新的数值。最后注意需要考虑空数组和数组所有数之和 长度最小的子数组——滑动窗口法_第2张图片

 
 

你可能感兴趣的:(LeetCode,滑动窗口)