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