Back
Min/Max Stack/Queue
Question 1 of 128% Complete
Medium
Design a MinStack supporting getMin() in O(1)
Keep an auxiliary stack of running minimums.
class MinStack:
def __init__(self):
self.s = []
self.m = []
def push(self, x: int) -> None:
self.s.append(x)
m = x if not self.m else min(x, self.m[-1])
self.m.append(m)
def pop(self) -> None:
self.s.pop()
def top(self) -> int:
return self.s[-1]
def getMin(self) -> int:
return
Need a hint?
Track min alongside each push so pops stay in sync.