文章目录
题目
'''
Description: 209.长度最小的子数组
Autor: 365JHWZGo
Date: 2022-02-09 17:35:19
LastEditors: 365JHWZGo
LastEditTime: 2022-02-09 20:10:18
'''
难度
medium
思路
当没有超过target时,r+=1
当超过或等于target时,l+=1
代码
class Solution(object):
def minSubArrayLen(self, target, nums):
"""
:type target: int
:type nums: List[int]
:rtype: int
"""
minNum = len(nums)
if sum(nums) < target:
return 0
if sum(nums) == target:
return minNum
l, r = 0, 0
total = 0
while r < len(nums):
total += nums[r]
while total>=target:
minNum = min(r-l+1,minNum)
total -= nums[l]
l += 1
r += 1
return minNum