【34】包含min函数的stack

作者: 牧童遥指2000 | 来源:发表于2017-02-12 16:13 被阅读18次

    【34】包含min函数的stack

    题目:

    实现一个包含min函数的栈,min和push,pop都是o(1)时间

    思路:

    • 采用一个辅助的栈,来存储不同阶段的最小值

    代码:

    push(int value){
        //data是数据栈,min是辅助栈用来存储最小值
        data.push(value);
        if(min.size() <= 0 || value < min.top()){
            min.push(value);
        }else{
            min.push(min.top());
        }
    }
    pop(){
        if(min.size() <= 0 || data.size() <= 0){
            return;
        }
        data.pop();
        min.pop();
    }
    int min(){
        if(min.size() <= 0 || data.size() <= 0){
            return;
        }
        return min.top();
    }
    }
    

    帮朋友招聘职位如下##

    普照天星【Java开发工程师】20-30k
    http://www.jianshu.com/p/8b52751360df
    产品经理20-30k
    http://www.jianshu.com/p/cb0ac7a00796

    相关文章

      网友评论

      本文标题: 【34】包含min函数的stack

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