題目描述
給定乙個含有 n 個正整數的陣列和乙個正整數 s ,找出該陣列中滿足其和 ≥ s 的長度最小的連續子陣列,並返回其長度。如果不存在符合條件的連續子陣列,返回 0。
示例:輸入: s = 7, nums = [2,3,1,2,4,3]
輸出: 2
解釋: 子陣列 [4,3] 是該條件下的長度最小的連續子陣列。
題解
class
solution
(object):
defminsubarraylen
(self, s, nums)
:"""
:type s: int
:type nums: list[int]
:rtype: int
"""minlen =
float
('inf'
) left,right,num =0,
0,0for i in
range
(len
(nums)):
num += nums[i]
right = i
while num >= s:
minlen =
min(minlen,right-left+1)
num -= nums[left]
left +=
1return minlen if minlen !=
float
('inf'
)else
0
雙指標 leetcode日記 209 長度最小的子陣列
給定乙個含有 n 個正整數的陣列和乙個正整數 s 找出該陣列中滿足其和 s 的長度最小的連續子陣列,並返回其長度。如果不存在符合條件的連續子陣列,返回 0。示例 輸入 s 7,nums 2,3,1,2,4,3 輸出 2 解釋 子陣列 4,3 是該條件下的長度最小的連續子陣列。題目中要求 和 長度最小...
leetcode刷題209 長度最小的子陣列
給定乙個含有 n 個正整數的陣列和乙個正整數 s 找出該陣列中滿足其和 s 的長度最小的 連續 子陣列,並返回其長度。如果不存在符合條件的子陣列,返回 0。示例 輸入 s 7,nums 2,3,1,2,4,3 輸出 2 解釋 子陣列 4,3 是該條件下的長度最小的子陣列。略class solutio...
leetcode 長度最小的子陣列
給定乙個含有n個正整數的陣列和乙個正整數s 找出該陣列中滿足其和 s的長度最小的連續子陣列。如果不存在符合條件的連續子陣列,返回 0。示例 輸入 s 7,nums 2,3,1,2,4,3 輸出 2解釋 子陣列 4,3 是該條件下的長度最小的連續子陣列。雙指標法解決,先從零開始累加sum,先保證sum...