单调栈模板:
stack<int> st;
for(int i = 0; i < nums.size(); i++){
while(!st.empty() && st.top() > nums[i]){
st.pop();
//计算、存放结果
}
st.push(nums[i]);
}
单调队列:
注意事项:
⭐只比较最大的元素是不行的,比如现在插入的元素是第二大,但是因为比第一大要小就没有插入,按理说等第一大弹出去之后第二大就是最大元素,但此时第二大根本没有插入进去队列,从而一定会影响结果
⭐因此要从小到大比较到比不过为止