155 stack
This commit is contained in:
parent
9087e2a0fe
commit
0f2f3b67d2
43
155-240605-pass/main.py
Normal file
43
155-240605-pass/main.py
Normal 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())
|
Loading…
Reference in New Issue
Block a user