題目描述: 給定一個含有 n 個正整數的數組和一個正整數 s ,找出數組中滿足其和 ≥ s 的長度最小的連續子數組的長度。如果不存在符合條件的連續子數組,返回 0
示例:
輸入: s = 7, nums = [2,3,1,2,4,3]
輸出: 2
這道題是一道典型的雙指針滑動窗口的題目,記錄一下:
def minSubArrayLen(s, nums):
if not nums:
return 0
start, end = 0, 0
temp = 0
ans = float('inf')
while end < len(nums):
temp += nums[end]
end += 1
while temp >= s:
ans = min(ans, end-start)
temp -= nums[start]
start += 1
if ans == float('inf'): return 0
return ans