W:
类似于单调栈,建立一个辅助栈,要求栈中元素单调不增
N:
注意空的时候也可以入栈 st_de.empty()
pop时注意非空,两个栈一起出
class Solution {
stack<int> st;
stack<int> st_de;
public:
void push(int value) {
if(st_de.empty() ||value<st_de.top()){
st_de.push(value);
}else{
st_de.push(st_de.top());
}
st.push(value);
}
void pop() {
if(!st.empty()){
st.pop();
st_de.pop();
}
}
int top() {
// if(!st.empty())
return st.top();
}
int min() {
// if(!st_de.empty())
return st_de.top();
}
};

京公网安备 11010502036488号