LeetCode 長度最小的子陣列

2021-10-07 13:57:37 字數 814 閱讀 3048

題目描述

給定乙個含有 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...