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.push(val) pushes the element val onto the stack.pop() removes the element on the top of the stack.top() gets the top element of the stack.getMin() retrieves the minimum element in the stack.You must implement a solution with O(1) time complexity for each function.
["MinStack","push","push","push","getMin","pop","top","getMin"]
[[], [-2], [0], [-3], [], [], [], []][null, null, null, null, -3, null, 0, -2]-2^31 <= val <= 2^31 - 1Methods pop, top and getMin will always be called on non-empty stacksAt most 3 * 10^4 calls will be made to push, pop, top, and getMinExpected time complexity: O(1) per operationRun your code to see results
Use Cmd+Enter to run