209. 长度最小的子数组
解法一:双指针法
class Solution:
def minSubArrayLen(self, s: int, nums: List[int]) -> int:
n = len(nums)
minSize = n+1 #取一个不能到达的数即可,不一定要sys.maxsize
left = 0 #左边界
sum = 0 #left到i的累加和
for i in range(n):
sum += nums[i]
while sum >= s:
minSize = min(minSize, i-left+1)
sum -= nums[left]
left += 1
#若min还是n+1说明没找到
return 0 if minSize == n+1 else minSize解法二:二分
最后更新于