1. 包含min函数的栈
定义栈的数据结构,要求在该类型中实现一个 min 函数,能够获取栈的最小元素。在该栈中,调用 min、push 以及 pop 函数的时间复杂度均为 O (1)。
方法:
class MinStack:
def __init__(self):
self.stack = []
self.min_stack = [float('inf')]
def push(self, x):
self.stack.append(x)
self.min_stack.append(min(self.min_stack[-1], x))
def pop(self):
self.stack.pop()
self.min_stack.pop()
def top(self):
return self.stack[-1]
def min(self):
return self.min_stack[-1]