您的位置:首页 > 其它

155. Min Stack LeetCode

2016-02-13 16:07 429 查看
题意:维护一个堆,实现top,pop,push,min(当前堆中最小元素)。

题解:用两个堆来维护,一个是正常的堆,一个用来维护当前最小值。

class MinStack {
public:
stack<int> sta,mi;
void push(int x) {
sta.push(x);
if(mi.empty() || mi.top() > x) mi.push(x);
else mi.push(mi.top());
}

void pop() {
sta.pop();
mi.pop();
}

int top() {
return sta.top();
}

int getMin() {
return mi.top();
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode