滑动窗口问题 图解

140 阅读1分钟

题目描述:给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。

输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输出: [3,3,5,5,6,7]

分析:递减栈就是该位置index是除前一个位置之间的数中最大的,通常和index配和, 递减栈第一个数就是最大的

  1.得出解决思路
  2.画出具体过程
  3.编码
  

特殊情况:一个窗口中有相等的两个值,应同时加入递减栈中

循环时,应充分考虑能循环的部分

1639623047(1).jpg