陣列 滑動視窗,開啟巧解之窗!

2021-10-12 01:53:56 字數 905 閱讀 9845

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 是該條件下的長...