Solution: Min Stack
Explore how to design a Min Stack class that allows pushing, popping, and retrieving the minimum element in constant time. Understand the use of two stacks—one to store all values and another to track the current minimum—to achieve optimal performance. This lesson guides you through implementing all operations with O(1) time complexity, helping you master a key custom data structure pattern.
We'll cover the following...
Statement
Design a custom stack class, Min Stack, allowing us to push, pop, and retrieve the minimum value in constant time. Implement the following methods for Min Stack:
-
Constructor: This initializes the Min Stack object.
-
Pop(): This removes and returns from the stack the value that was most recently pushed onto it.
-
Push(): This pushes the provided value onto the stack.
-
Min Number(): This returns the minimum value in the stack in ...