[置顶] 【34】包含min函数的stack

时间:2021-11-03 22:52:24

题目:

实现一个包含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();
}
}

帮朋友招聘职位如下

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

我的微信二维码如下

[置顶]        【34】包含min函数的stack

微信订阅号二维码如下:

[置顶]        【34】包含min函数的stack=