什么是滑动窗口?
作者:野牛程序员:2025-05-02 09:05:13数据结构阅读 2018
什么是滑动窗口?
🎯 滑动窗口(Sliding Window)是一种高效处理连续子区间问题的技巧。像是在一组数据上,使用一个「窗口」从左往右滑动,一次只关注窗口里的几个元素。
📦 举个经典例子:
题目: 给定数组 [1, 3, -1, -3, 5, 3, 6, 7]
,窗口大小为 k = 3
,求每个窗口里的最大值。
🎯 目标:
每次窗口移动一格,输出窗口内的最大值:
窗口1: [1, 3, -1] 👉 最大值:3 窗口2: [3, -1, -3] 👉 最大值:3 窗口3: [-1, -3, 5] 👉 最大值:5 窗口4: [-3, 5, 3] 👉 最大值:5 窗口5: [5, 3, 6] 👉 最大值:6 窗口6: [3, 6, 7] 👉 最大值:7
🧮 输出结果就是:[3, 3, 5, 5, 6, 7]
🛠️ 适用场景举例:
📈 股票连续7天的最高价
🍰 某段时间内温度的最高/最低值
👮 监控系统最近10分钟的异常波动
🚀 与“单调队列”搭配:
滑动窗口 + 单调队列 = 极速获取「当前窗口最大值」或「最小值」,只要 O(n) 时间复杂度。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:单调队列模拟
- 下一篇:UI设计是什么?UI设计概念定义介绍