美文网首页数据结构与算法
实现一个包含min函数的栈(O(1)的时间复杂度)

实现一个包含min函数的栈(O(1)的时间复杂度)

作者: 而立之年的技术控 | 来源:发表于2019-12-21 15:22 被阅读0次
    微信图片_20191221152107.jpg
    class Solution:
        def __init__(self):
            self.stack = []
            self.min_stack = []
        def push(self, node):
            # write code here
            self.stack.append(node)
            if self.min_stack == []:
                self.min_stack.append(node)
            else:
                if node <= self.min_stack[-1]:
                    self.min_stack.append(node)
                else:
                    self.min_stack.append(self.min_stack[-1])
        def pop(self):
            # write code here
            if self.stack:
                self.min_stack.pop()
                return self.stack.pop()
        def top(self):
            # write code here
            if self.stack:
                return self.stack[-1]
        def min(self):
            # write code here
            if self.min_stack:
                return self.min_stack[-1]
    

    相关文章

      网友评论

        本文标题:实现一个包含min函数的栈(O(1)的时间复杂度)

        本文链接:https://www.haomeiwen.com/subject/pdsgnctx.html