栈
方法一
参考代码
class MinStack:def __init__(self):"""initialize your data structure here."""self.s = []self.s_min = [math.inf]def push(self, x: int) -> None:self.s.append(x)self.s_min.append(min(self.min(),x))def pop(self) -> None:self.s.pop()self.s_min.pop()def top(self) -> int:return self.s[-1]def min(self) -> int:return self.s_min[-1]# Your MinStack object will be instantiated and called as such:# obj = MinStack()# obj.push(x)# obj.pop()# param_3 = obj.top()# param_4 = obj.min()
复杂度分析
时间复杂度O(n)
空间复杂度O(1)
