155 stack

This commit is contained in:
mhrooz 2024-06-06 21:03:33 +02:00
parent 9087e2a0fe
commit 0f2f3b67d2

43
155-240605-pass/main.py Normal file
View File

@ -0,0 +1,43 @@
class MinStack:
def __init__(self):
self.sta = []
self.minn = 2 ** 31
self.tops = -1
self.sorted = []
def push(self, val: int) -> None:
self.tops += 1
if len(self.sta) <= self.tops:
self.sta.append(val)
else:
self.sta[self.tops] = val
flag = False
for ind, num in enumerate(self.sorted):
if val < num:
self.sorted.insert(ind,val)
flag = True
break
if flag == False:
self.sorted.append(val)
self.minn = min(self.minn, val)
def pop(self) -> None:
val = self.sta[self.tops]
self.sorted.remove(val)
self.tops -= 1
def top(self) -> int:
return self.sta[self.tops]
def getMin(self) -> int:
return self.sorted[0]
mins = MinStack()
mins.push(-2)
mins.push(0)
mins.push(-3)
print(mins.getMin())
print(mins.pop())
print(mins.top())
print(mins.getMin())