目录
算法解析
1.什么是单调队列
顾名思义,就是兼具单调性质和队列性质的数据结构
2.优势
如果我们想在一个普通队列中找到一个极值,需要遍历整个队列,时间复杂度为线性O(N)
单调队列因为具有单调性,只需要调用队首或者队尾,时间复杂度为常数O(1)
3.单调队列适用于那些范围
单调队列,其实是单调栈的一个升级plus版本,或者说是具有[l,r]区间性质的单调栈.(注:单调栈一般来说是[0,r]类型的)
4.两个应用
(1)求窗口(区间)的极值
(2)求离一个元素最近的比它小的或者比他大的元素