标签:
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
class MinStack { private: stack<int> sta; stack<int> minsta; public: void push(int x) { sta.push(x); if(minsta.empty()||(!minsta.empty()&&x<=minsta.top())) minsta.push(x); } void pop() { if(sta.empty())return; if(sta.top()==minsta.top())minsta.pop(); sta.pop(); } int top() { if(sta.empty())return INT_MAX; return sta.top(); } int getMin() { if(minsta.empty())return INT_MAX; return minsta.top(); } };
标签:
原文地址:http://www.cnblogs.com/Vae98Scilence/p/4280717.html