题目:
209.长度最小的子数组
思路:
找出和大于等于s的长度最小的连续子数组
滑动窗口基本思想:
class Solution:def minSubArrayLen(self, s: int, nums: List[int]) -> int:left = 0right = 0window = []min_length = len(nums)flag = Falsewhile right < len(nums):window.append(nums[right])while sum(window) >= s:flag = Trueif len(window) <= min_length:min_length = len(window)window.pop(0)left += 1right += 1return min_length if flag else 0
基本模板
int left = 0, right = 0;while (right < s.size()) {window.add(s[right]);right++;while (valid) {window.remove(s[left]);left++;}}
