155 stack
This commit is contained in:
parent
3184bf511e
commit
9087e2a0fe
43
155-240605/main.py
Normal file
43
155-240605/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