因为博主本人水平有限,文章中难免会出现错误。您如果发现文章的错误敬请批评指正,感谢您的阅读^_^
一、什么是 单调队列
单调队列 是一种具有单调性的结构,它可以用来求最大值最小值等操作,它是一种特殊的双端队列,它保持队列中元素的单调性。单调队列可以在O(1)的时间复杂度内求得队列中的最大值或最小值。在单调队列中,队列中的元素按照一定的顺序排列,并且队列中的元素满足某种单调性。常见的单调队列有单调递增队列和单调递减队列。在单调递增队列中,队列中的元素按照递增的顺序排列;在单调递减队列中,队列中的元素按照递减的顺序排列。单调队列常用于求解滑动窗口问题,可以高效地获取滑动窗口内的最大值或最小值。
二、单调队列的基本思想
单调队列 的基本思想是:维护一个单调递增(或递减)的队列,队列中的元素按照从大到小(或从小到大)的顺序排列。每当窗口滑动时,如果新加入的元素大于队尾元素,则将队尾元素出队,直到队列为空或新加入的元素小于等于