滑动窗口 - 模板
yuiyake 5/3/2022
# 滑动窗口
- 基本思路:
- 分左右指针,左右指针的闭合区间[left, right]就是一个窗口。
- 增加窗口右边界,寻找一个可行解,在找到可行解的情况下增加窗口左边界,优化可行解,找到最优解
- 具体板子
var slidingWindow = function (arr, target) {
let left=0,right=0,sum=0
while(right<arr.length){
sum = arr[right]
right++
}
// ...窗口数据更新
// 判断窗口是否收缩
while(window needs shrink){
let d = arr[left];
left++;
// ...操作
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14