维持一个有序队列,队列中存放的是下标
- 存放下标的原因是要与窗口的左右边界对应
以最大值窗口为例
- 窗口扩大时加入一个新的数,加入这个新的数的下标时要把序列中小于这个数的下标全部弹出
- 窗口扩大完之后要检查窗口的大小是否小于限定,若超出要丢队列前端超出限制的下标
- 完成窗口的滑动之后,队列的顶端就是当前窗口之内的最大值
这个算法的思想就是要与枚举所有子序列对比
使用滑动窗口的优点在于左右两个指针都单调移动,也就是说受限于长度最短等目标限制,右边的点进入之后会排除左边的点
维持一个有序队列,队列中存放的是下标
以最大值窗口为例
这个算法的思想就是要与枚举所有子序列对比
使用滑动窗口的优点在于左右两个指针都单调移动,也就是说受限于长度最短等目标限制,右边的点进入之后会排除左边的点