fork download
  1.  
  2. class MinStack:
  3.  
  4. def __init__(self):
  5. self.st = []
  6. self.mini = []
  7. def push(self, val: int) -> None:
  8. if self.st:
  9. if val <= self.mini[-1]:
  10. self.mini.append(val)
  11. else:
  12. self.mini.append(val)
  13.  
  14. self.st.append(val)
  15.  
  16.  
  17. def pop(self) -> None:
  18. if self.st:
  19. deleted = self.st[-1]
  20. self.st.pop()
  21. if self.mini and deleted == self.mini[-1]:
  22. self.mini.pop()
  23.  
  24.  
  25. def top(self) -> int:
  26. if self.st:
  27. return self.st[-1]
  28.  
  29. def getMin(self) -> int:
  30. return self.mini[-1]
  31.  
Success #stdin #stdout 0.05s 9620KB
stdin
Standard input is empty
stdout
Standard output is empty