可变长度滑动窗口
固定长度滑动窗口
基本概念
不定长滑动窗口(Sliding Window):在数组 / 字符串上用两个指针动态维护一个可变长度的窗口,通过左右移动指针灵活调整窗口范围,实时维护最优解。
算法步骤
步骤如下
- 定义两个指针left和right,初始都指向序列起始位置(left=0,right=0),区间表示当前窗口
- 不断右移right,将元素加入 窗口
- 当窗口不满足条件时,不断移除,缩小窗口
- 重复上述过程,直到right 遍历完整个数组
内部实现:
1 | #1. 定义两个指针left和right,初始都指向序列起始位置(left=0,right=0),区间$[left,right]$表示当前窗口 |
应用场景:
窗口大小不固定,常用于查找满足条件的最长/最短区间。
- 674.最长连续递增序列
- 1004.最大连续1的个数III
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 笺札!





