LintCode算法第12题:带最小值操作的栈
要求:
实现一个栈, 支持以下操作:
push(val)
将 val 压入栈pop()
将栈顶元素弹出, 并返回这个弹出的元素min()
返回栈中元素的最小值
要求 O(1) 开销
实现的方法很简单,代码如下:
class MinStack:
def __init__(self):
# do intialization if necessary
self.queue=[]
"""
@param: number: An integer
@return: nothing
"""
def push(self, number):
# write your code here
self.queue.insert(0,number)
"""
@return: An integer
"""
def pop(self):
# write your code here
return self.queue.pop(0)
"""
@return: An integer
"""
def min(self):
# write your code here
return min(self.queue)