React

155. Min Stack

Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
Implement the MinStack class:
MinStack() initializes the stack object.
void push(int val) pushes the element val onto the stack.
void pop() removes the element on the top of the stack.
int top() gets the top element of the stack.
int getMin() retrieves the minimum element in the stack.
Example 1:
Input ["MinStack","push","push","push","getMin","pop","top","getMin"] [[],[-2],[0],[-3],[],[],[],[]] Output [null,null,null,null,-3,null,0,-2] Explanation MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); // return -3 minStack.pop(); minStack.top(); // return 0 minStack.getMin(); // return -2
Plain Text
복사
Constraints:
231 <= val <= 231 - 1
Methods poptop and getMin operations will always be called on non-empty stacks.
At most 3 * 104 calls will be made to pushpoptop, and getMin.

My solution

상수 시간에 최소 요소를 retrieving, push, pop, top을 지원하는 stack을 설계해라.
Implement the MinStack class:
MinStack() 는 stack object로 초기화한다.
void push(int val) 는 val  요소를 스택으로 push한다.
void pop() 는 스택의 top에 요소를 제거한다.
int top() 스택의 top 요소를 가져온다.
int getMin() 스택에서 최소 요소를 검색한다.