Solution Review: Create Stack where min() gives minimum in O(1)

Let’s solve the Min Stack problem.

We'll cover the following

Statement

Design a stack data structure to retrieve the minimum value in O(1)O(1) time. The following functions must be implemented:

  • min(): Returns the minimum value in the stack in constant time.
  • push(int value): Pushes a value onto the stack.
  • pop(): Removes and returns a value from the top of the stack.

All functions should be implemented with a time complexity of O(1)O(1).

Constraints:

  • 105-10^5 \leq value 105\leq 10^5