155. Min Stack
Total Accepted: 54402 Total Submissions: 259750 Difficulty: Easy
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
- push(x) -- Push element x onto stack.
- pop() -- Removes the element on top of the stack.
- top() -- Get the top element.
- getMin() -- Retrieve the minimum element in the stack.
class MinStack { public: void push(int x) { datas.push(x); if(!min_elems.empty() && min_elems.top() < x){ min_elems.push(min_elems.top()); }else{ min_elems.push(x); } } void pop() { datas.pop(); min_elems.pop(); } int top() { return datas.top(); } int getMin() { return min_elems.top(); } private: stack<int> datas; stack<int> min_elems; };
Next challenges: (H) Sliding Window Maximum