30包含min函数的栈

作者: gantrol | 来源:发表于2019-01-17 14:25 被阅读0次

实现栈的数据结构,并在其中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push及pop的时间复杂度都是O(1)。

# -*- coding:utf-8 -*-
class StackwithMin:
    def __init__(self, stack=[]):
        self.stack = stack
        self.stack_min = []
        self.num_min = None
        
    def push(self, node):
        # write code here
        self.stack.append(node)
        if self.num_min is None or node < self.num_min:
            self.num_min = node
        self.stack_min.append(self.num_min)
        
    def pop(self):
        # write code here
        result = self.stack.pop()
        self.stack_min.pop()
        return result
    
    def top(self):
        # write code here
        return self.stack[-1]
    
    def min(self):
        # write code here
        return self.stack_min[-1]

相关文章

  • 30、包含min函数的栈

    题目:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 ht...

  • 剑指offer【30~39】

    题目链接: 剑指offer 30-39 目录: 30. 包含 min 函数的栈31. 栈的压入、弹出序列32.1 ...

  • 30-包含min函数的栈

    定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 p...

  • 30. 包含min函数的栈

    链接 https://leetcode-cn.com/problems/bao-han-minhan-shu-de...

  • 【栈】包含min函数的栈

  • 【34】包含min函数的stack

    【34】包含min函数的stack 题目: 实现一个包含min函数的栈,min和push,pop都是o(1)时间 ...

  • 剑指Offer算法题解30-39

    30 包含 min 函数的栈马上解题 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的 min...

  • 包含min函数的栈

    定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

  • 包含 min 函数的栈

    题目要求:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数。在该栈中,调用 min、pu...

  • 包含Min函数的栈

    时间 2018/10/14?环境:牛客的编译环境?语言:JavaScript☕️难点:这道题的难点在于不能直接用一...

网友评论

    本文标题:30包含min函数的栈

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