zoukankan      html  css  js  c++  java
  • leetcode_155. 最小栈

    设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。
    
    push(x) —— 将元素 x 推入栈中。
    pop() —— 删除栈顶的元素。
    top() —— 获取栈顶元素。
    getMin() —— 检索栈中的最小元素。
     
    
    示例:
    
    输入:
    ["MinStack","push","push","push","getMin","pop","top","getMin"]
    [[],[-2],[0],[-3],[],[],[],[]]
    
    输出:
    [null,null,null,null,-3,null,0,-2]
    
    解释:
    MinStack minStack = new MinStack();
    minStack.push(-2);
    minStack.push(0);
    minStack.push(-3);
    minStack.getMin();   --> 返回 -3.
    minStack.pop();
    minStack.top();      --> 返回 0.
    minStack.getMin();   --> 返回 -2.
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/min-stack
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    
    import sys
    class MinStack:
        
        def __init__(self):
            """
            initialize your data structure here.
            """
    
            self.minList=[]
            self.minHelp=[]
            self.m=sys.maxsize
            self.minHelp.append(self.m)
    
        def push(self, x: int) -> None:
            self.minList.append(x)
            self.minHelp.append(min(self.minHelp[-1],x))
                
    
        def pop(self) -> None:
            self.minList.pop()
            self.minHelp.pop()
    
    
        def top(self) -> int:
            return self.minList[-1]
    
    
        def getMin(self) -> int:
            return self.minHelp[-1]
    
    
    class MinStack:
    
        def __init__(self):
            """
            initialize your data structure here.
            """
            self.ms=[]
            self.m=0
    
    
        def push(self, x: int) -> None:
            if self.ms:
                self.m=min(self.ms[-1][1],x)
            else:
                self.m=x
    
            self.ms.append([x,self.m])
    
    
        def pop(self) -> None:
            return self.ms.pop()
    
    
        def top(self) -> int:
            return self.ms[-1][0]
    
    
        def min(self) -> int:
            return self.ms[-1][1]
    
    
    
    
    
  • 相关阅读:
    3D Computer Grapihcs Using OpenGL
    3D Computer Grapihcs Using OpenGL
    3D Computer Grapihcs Using OpenGL
    3D Computer Grapihcs Using OpenGL
    转:RealThinClient LinkedObjects Demo解析
    转:RealThinClient (RTC)是什么?
    DataSanp的控制老大-DSServer
    5.Firedac错误信息
    4.FireDAC组件快照 二
    3.FireDAC组件快照
  • 原文地址:https://www.cnblogs.com/hqzxwm/p/14069515.html
Copyright © 2011-2022 走看看