码迷,mamicode.com
首页 > 其他好文 > 详细

【34】包含min函数的stack

时间:2016-05-14 06:50:33      阅读:251      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!