单调队列可视化:滑动窗口最大值
数组 a = [1, 3, -1, -3, 5, 3, 6, 7],窗口大小 k = 3
点击“开始动画”
原始数组 & 滑动窗口
单调队列 (存下标,显示数值)
结果数组 (Max)
开始动画
重置
规则说明:
1.
入队前检查:
如果新来的元素比队列尾部的元素大,那么尾部元素永远不可能成为最大值(因为它又小又旧),将其移除。
2.
入队:
将当前元素下标加入队尾。
3.
过期检查:
检查队头元素是否已经滑出窗口范围,如果是,移除队头。
4.
记录结果:
队头始终是当前窗口的最大值。