zoukankan      html  css  js  c++  java
  • leetCode(45):Min Stack

    Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

    • push(x) -- Push element x onto stack.
    • pop() -- Removes the element on top of the stack.
    • top() -- Get the top element.
    • getMin() -- Retrieve the minimum element in the stack.
    class MinStack {
    public:
        void push(int x) {
            data.push(x);//数据栈正常压入
            if(minData.empty())
            {//最小栈数据栈压入时要进行推断。假设被压入的数据不影响最小值,则直接再压入
    //最小栈栈顶元素,否则压入x
                minData.push(x);
            }
            else
            {
                if(x<minData.top())
                {
                    minData.push(x);
                }
                else
                {
                    minData.push(minData.top());
                }
            }
        }
    
        void pop() {//弹出时,两个栈都须要弹出
            data.pop();
            minData.pop();
        }
    
        int top() {
            return data.top();
        }
    
        int getMin() {
            return minData.top();
        }
        
    private:
        stack<int> data;
        stack<int> minData;
    };



  • 相关阅读:
    CentOS6.5配置网络
    php curl 总结
    laravel-5-doctrine-2 教程
    DOS 总结
    Centos如何通过yum安装php7
    sql with 写法
    php 汉字转拼音函数
    MYSQL 升序排序但值为0的排最后
    zookeeper基础知识
    初识redis
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6768139.html
Copyright © 2011-2022 走看看