leetcode 209 長度最小的子陣列

2021-10-05 17:20:14 字數 714 閱讀 2354

給定乙個含有 n 個正整數的陣列和乙個正整數 s ,找出該陣列中滿足其和 ≥ s 的長度最小的連續子陣列,並返回其長度。如果不存在符合條件的連續子陣列,返回 0。

示例:

輸入: s = 7, nums =

[2,3,1,2,4,3]

輸出: 2

解釋: 子陣列 [4,3] 是該條件下的長度最小的連續子陣列。

高階:

如果你已經完成了o(n) 時間複雜度的解法, 請嘗試 o(n log n) 時間複雜度的解法。

思路1:滑動視窗

1.初始的時候定義兩個指標left,right分別指向nums[0],之後開始遍歷陣列。定義sum儲存left到right之間的和,ans表示最小的答案,初值為最大值int_max.

2.首先讓right開始向後跳,每次計算sum,直到sum大於等於s停止。

3.計算當前的ans,記right-left+1,判斷若小於前面儲存的ans,則更新。

4.之後sum減掉nums[begin],同時begin向後跳一位,回到步驟2.

5.當right=nums.size()迴圈結束。

ac**:

class

solution

else}if

(ans == int_max)

return0;

return ans;}}

;

leetcode 209 長度最小的陣列

題目描述 給定乙個含有 n 個正整數的陣列和乙個正整數 s 找出該陣列中滿足其和 s 的長度最小的連續子陣列。如果不存在符合條件的連續子陣列,返回 0。參考 負雪明燭 class solution object def minsubarraylen self,s,nums type s int ty...

LeetCode 209 長度最小的子陣列

題目鏈結 題目描述 給定乙個含有 n 個正整數的陣列和乙個正整數 s 找出該陣列中滿足其和 s 的長度最小的連續子陣列。如果不存在符合條件的連續子陣列,返回 0。示例輸入 s 7,nums 2,3,1,2,4,3 輸出 2 解釋 子陣列 4,3 是該條件下的長度最小的連續子陣列。解決方法 兩種方法 ...

Leetcode209 長度最小的子陣列

給定乙個含有 n 個正整數的陣列和乙個正整數 s 找出該陣列中滿足其和 s 的長度最小的連續子陣列。如果不存在符合條件的連續子陣列,返回 0。示例 輸入 s 7,nums 2,3,1,2,4,3 輸出 2 解釋 子陣列 4,3 是該條件下的長度最小的連續子陣列。public intminsubarr...