题目:
实现一个包含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();
}
}
- 安利一个面试题汇总的微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!
微信订阅号名称:IT面试题汇总
微信订阅号二维码如下:
时间: 2024-09-30 05:58:17