Skip to content

Commit

Permalink
re-solve "155. Min Stack"
Browse files Browse the repository at this point in the history
  • Loading branch information
lancelote committed Oct 19, 2024
1 parent a341761 commit d9faf2c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
1 change: 1 addition & 0 deletions .plan
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ solve each available question at least once

Oct 19, 2024

* re-solve "155. Min Stack"
* solve "71. Simplify Path"

Oct 16, 2024
Expand Down
23 changes: 12 additions & 11 deletions src/min_stack.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
class MinStack:
def __init__(self) -> None:
self.val_stack: list[int] = []
self.min_stack: list[int] = []
self._val_stack: list[int] = []
self._min_stack: list[int] = []

def push(self, val: int) -> None:
self.val_stack.append(val)
if not self.min_stack:
self.min_stack.append(val)
self._val_stack.append(val)

if not self._min_stack:
self._min_stack.append(val)
else:
smallest = min(self.min_stack[-1], val)
self.min_stack.append(smallest)
new_min = min(self._min_stack[-1], val)
self._min_stack.append(new_min)

def pop(self) -> None:
self.val_stack.pop()
self.min_stack.pop()
self._val_stack.pop()
self._min_stack.pop()

def top(self) -> int:
return self.val_stack[-1]
return self._val_stack[-1]

def getMin(self) -> int:
return self.min_stack[-1]
return self._min_stack[-1]

0 comments on commit d9faf2c

Please sign in to comment.