LeetCode 209 長度最小的子陣列

2022-09-19 21:15:13 字數 1081 閱讀 3127

209. 長度最小的子陣列

給定乙個含有n個正整數的陣列和乙個正整數target

找出該陣列中滿足其和≥ target的長度最小的連續子陣列[numsl, numsl+1, ..., numsr-1, numsr],並返回其長度如果不存在符合條件的子陣列,返回0

示例 1:

輸入:target = 7, nums = [2,3,1,2,4,3]

輸出:2

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

示例 2:

輸入:target = 4, nums = [1,4,4]

輸出:1

示例 3:

輸入:target = 11, nums = [1,1,1,1,1,1,1,1]

輸出:0

高階:

本題是可以通過暴力法求解的,但是時間複雜度在\(o(n^2)\),會造成超時。

這個題目需要注意的乙個關鍵點就是「連續子陣列」,看到連續,我們其實可以聯想到雙指標,因為雙指標的本質就是通過兩個指標來鉗制住乙個不斷變動的區間。

如果使用雙指標法,應該如何移動呢?實際上,我們需要維護的是區間內的元素和,當快指標前進時可以加上快指標的值,在移動快指標之前,可以嘗試慢指標往前移動後是否會改變元素結果,使元素和仍然滿足和大於等於target。

class solution 

end++;

}return res == integer.max_value ? 0 : res;}}

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...