算法——单调队列
单调队列
什么是单调队列,想必大家对单调函数还有所印象,单调队列和单调函数类似,一个队列中的元素是递增或者递减的。
如何构建单调队列呢
并没有单调队列,那么如何构建呢,可以通过双端队列Deque 来进行构建。
注意事项
根据题意合适的选择 递增还是递减并过略掉一些不需要的元素。
leetcode239
1 | class Solution { |
因为头要弹出去 队列中剩下的比他小的也要弹出去 所以从后面开始 从前面开始可能会导致中间某个数大 从而不能保证每个头都是大的
举例解释
假如数组为 [1,3,1,2,0,5]
判断头队列元素为
1
3
31
312
120 =>输出头为1 并不是最大的
判断尾队列元素为
1
3
31
32
20
5
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 jhj-coding!
评论