Add solution for arrays: Mininum stack
This commit is contained in:
parent
5ad7e901cd
commit
bd2d55fafe
3 changed files with 35 additions and 0 deletions
0
neetcode/arrays/mininum_stack/README.md
Normal file
0
neetcode/arrays/mininum_stack/README.md
Normal file
BIN
neetcode/arrays/mininum_stack/solution.png
Normal file
BIN
neetcode/arrays/mininum_stack/solution.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 184 KiB |
35
neetcode/arrays/mininum_stack/solution.py
Normal file
35
neetcode/arrays/mininum_stack/solution.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
class MinStack:
|
||||
def __init__(self):
|
||||
self.stack = []
|
||||
self.min_stack = []
|
||||
|
||||
def push(self, val: int) -> None:
|
||||
self.stack.append(val)
|
||||
if not self.min_stack:
|
||||
self.min_stack.append(val)
|
||||
else:
|
||||
self.min_stack.append(min(val, self.min_stack[-1]))
|
||||
|
||||
def pop(self) -> None:
|
||||
if self.min_stack:
|
||||
self.min_stack.pop()
|
||||
if self.stack:
|
||||
self.stack.pop()
|
||||
else:
|
||||
return None
|
||||
|
||||
def top(self) -> int:
|
||||
return self.stack[-1]
|
||||
|
||||
def getMin(self) -> int:
|
||||
if self.min_stack:
|
||||
return self.min_stack[-1]
|
||||
else:
|
||||
return None
|
||||
|
||||
if __name__ == "__main__":
|
||||
s = MinStack()
|
||||
s.push(12)
|
||||
s.pop()
|
||||
s.pop()
|
||||
print(s.getMin())
|
Loading…
Reference in a new issue