LeetCode 209 長度最小的子陣列

2021-09-26 06:39:14 字數 842 閱讀 8626

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

示例: 

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

輸出: 2

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

?   

非固定長度的雙指標模板:

int l = 0, r= 0,sum = 0;

int min_len = nums.size() + 1;

while(r < nums.size())

if (sum >= t) // 這裡的最小長度是在這裡取得,別放在上面的while迴圈中,上面的while迴圈是讓r不動的條件下l盡量的往右走。而且在取min_len之前判斷 sum >= t 否? 為的是使剛開始時 sum < t 的情況下也取了長度,這個長度是在sum >= t的情況下取得最小長度.

min_len = min(min_len,r-l+1);

++r;

}if (min_len == nums.size() + 1) return 0;

return min_len;

class solution 

if (sum >= t)

min_len = min(min_len,r-l+1);

++r;

}if (min_len == nums.size() + 1) return 0;

return min_len;

}};

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