首页 > 其他 > 详细

【34】包含min函数的stack

时间:2016-05-14 06:48:28      阅读:278      评论:0      收藏:0      [点我收藏+]

题目:

实现一个包含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(){
    ifmin.size() <= 0 || data.size() <= 0){
        return;
    }
    data.pop();
    min.pop();
}
int min(){
    ifmin.size() <= 0 || data.size() <= 0){
        return;
    }
    return min.top();
}
}

- 安利一个面试题汇总的微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!

微信订阅号名称:IT面试题汇总

微信订阅号二维码如下:

技术分享

【34】包含min函数的stack

原文:http://blog.csdn.net/lpjishu/article/details/51400518

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!