当前位置:首页数据结构 > 正文

什么是滑动窗口?

作者:野牛程序员: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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • 什么是滑动窗口?
  • 相关推荐

    最新推荐

    热门点击