classMinStack:def__init__(self):
self.stack1 = collections.deque()
self.stack_min = collections.deque()defpush(self, val:int)->None:
self.stack1.append(val)iflen(self.stack_min)==0:
self.stack_min.append(val)elif val <= self.stack_min[-1]:
self.stack_min.append(val)defpop(self)->None:
top = self.stack1.pop()if top == self.stack_min[-1]:
self.stack_min.pop()deftop(self)->int:return self.stack1[-1]defgetMin(self)->int:return self.stack_min[-1]# Your MinStack object will be instantiated and called as such:# obj = MinStack()# obj.push(val)# obj.pop()# param_3 = obj.top()# param_4 = obj.getMin()