209. 長度最小的子陣列
思路:
運用滑動視窗,不斷調節子串行的起始位置和終止位置,達到我們所需要的子串行,也可以理解為雙指標法的一種。
視窗起始位置如何移動?
噹噹當前視窗值大於s,視窗向前移動進行縮小。
視窗結束位置如何移動?
視窗結束位置就是遍歷陣列的指標。
class
solution
}return result == int_max?
0: result;}}
;
新增滑動視窗:
劍指 offer 57 - ii. 和為s的連續正數序列
輸入乙個正整數 target ,輸出所有和為 target 的連續正整數序列(至少含有兩個數)。
序列內的數字由小到大排列,不同序列按照首個數字從小到大排列。
示例 1:輸入:target = 9 輸出:[[2,3,4],[4,5]]
示例 2:
輸入:target = 15 輸出:[[1,2,3,4,5],[4,5,6],[7,8]]
class
solution
int i =0;
int sum =0;
for(
int j =
0; j < nums.
size()
; j++)if
(sum == target)
}return res;}}
;
陣列 滑動視窗
滑動視窗大多用於處理連續子陣列問題,然後得到相應的長度。例題 長度最小的子陣列 給定乙個含有 n 個正整數的陣列和乙個正整數 s 找出該陣列中滿足其和 s 的長度最小的連續子陣列。如果不存在符合條件的連續子陣列,返回 0。思路 使用滑動視窗i在左邊,j在右邊,明確意義 i,j 為滑動視窗 閉區間 如...
陣列 滑動視窗
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 是該條件下的長...