当前位置:网站首页>leetcode 155. Min Stack最小栈(中等)
leetcode 155. Min Stack最小栈(中等)
2022-08-08 12:42:00 【InfoQ】
一、题目大意
MinStack() // 初始化堆栈对象。
void push(int val) // 将元素val推入堆栈。
void pop() // 删除堆栈顶部的元素。
int top() // 获取堆栈顶部的元素。
int getMin() // 获取堆栈中的最小元素。
- -231 <= val <= 231 - 1
- pop、top 和 getMin 操作总是在 非空栈 上调用
- push, pop, top, and getMin最多被调用 3 * 104 次
二、解题思路
三、解题方法
3.1 Java实现
class MinStack {
Stack<Integer> s;
/**
* 辅助栈
*/
Stack<Integer> minS;
public MinStack() {
s = new Stack<>();
minS = new Stack<>();
}
public void push(int val) {
s.push(val);
// 注意这里是>=
if (minS.isEmpty() || minS.peek() >= val) {
minS.push(val);
}
}
public void pop() {
int val = s.pop();
if (!minS.isEmpty() && minS.peek() == val) {
minS.pop();
}
}
public int top() {
return s.peek();
}
public int getMin() {
return minS.isEmpty() ? 0 : minS.peek();
}
}
// Integer 与 int 比较
/**
* Your MinStack object will be instantiated and called as such:
* MinStack obj = new MinStack();
* obj.push(val);
* obj.pop();
* int param_3 = obj.top();
* int param_4 = obj.getMin();
*/
四、总结小记
- 2022/8/8 这两天有大到暴雨,能凉快一些吧
边栏推荐
- 开放原子开源峰会 - SmartIDE正式开源并发布v1.0版本
- Jenkins - install (2)
- 逐步手撕轮播图3(分步教程)
- Knowledge points and written test questions related to shift operations, bit operations, and logical operations
- 服务器配置——Linux系统安装Redis
- php文件上传下载(存放文件二进制到数据库)
- SSTI漏洞介绍认识(flask、Werkzeup)
- C# 反射 操作列表类型属性
- 关于微信小程序体验版获取不到openId的问题
- Docker - persistent database (data volume)
猜你喜欢

The use of qsort function and its analog implementation

案例分析 | 宜家以双钻设计模型探索线上零售新业务

changes not staged for commit 解决办法

【C语言】文件相关操作

爱可可AI前沿推介(8.8)

Study: Toxic PFAS chemicals make rainwater unsafe to drink around the world
![[界面开发]DevExpress WinForms流程图控件——XtraDiagrams组件入门指南](/img/0f/ef24101bebfea90e457a92e3017a3e.png)
[界面开发]DevExpress WinForms流程图控件——XtraDiagrams组件入门指南

大缓存更强劲,搭载AMD Milan-X的浪潮GPU服务器NF5468A5深度评测

phpstyle安装管理mysql

萤石、小米对垒智能摄像头
随机推荐
开放原子开源峰会 - SmartIDE正式开源并发布v1.0版本
三个点语法和DOM观察者
大缓存更强劲,搭载AMD Milan-X的浪潮GPU服务器NF5468A5深度评测
(7)FlinkSQL将kafka数据写入到mysql方式二
建材业深陷数字化困局,B2B协同系统标准化交易流程,解决企业交易网络化难题
Knowledge points and written test questions related to shift operations, bit operations, and logical operations
SQL实例 - 胜平负
逐步手撕轮播图3(分步教程)
SSTI漏洞介绍认识(flask、Werkzeup)
字符串函数、字符函数、内存函数的使用及其模拟实现
Jenkins - Introduction to Continuous Integration (1)
(5)FlinkSQL将socket数据写入到mysql方式二
老手也常误用!详解 Go channel 内存泄漏问题
C语言小项目 -- 通讯录(静态版+动态版+文件版)
JPA之使用复合主键
五面阿里巴巴拿offer后定级P6:分享自己的面试经历
分享面试阿里、京东、网易等大厂后的面经及面试心得,让你秋招不再害怕
作为一个年薪50W阿里P7架构师的必备知识:并发+JVM+多线程+Netty+MySQL
[界面开发]DevExpress WinForms流程图控件——XtraDiagrams组件入门指南
C language small project -- address book (static version + dynamic version + file version)