IT面试程序员架构算法设计模式和编程理论

【34】包含min函数的stack

2017-02-12  本文已影响18人  牧童遥指2000

【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

上一篇下一篇

猜你喜欢

热点阅读