力扣 155.最小栈

文章目录

题目介绍

题解

因为要实现在常数时间内检索到栈中的最小元素,所以使用数组栈,每个数组保存[当前值, 当前最小值] 。

代码如下:

java 复制代码
class MinStack {
    private Stack<int[]> stack = new Stack<>();
    
    public MinStack() {

    }

    public void push(int x) {
        if (stack.isEmpty()){
            stack.push(new int[]{x, x});
        }else {
            stack.push(new int[]{x, Math.min(x, stack.peek()[1])});
        }
    }

    public void pop() {
        stack.pop();
    }

    public int top() {
        return stack.peek()[0];
    }

    public int getMin() {
        return stack.peek()[1];
    }
}
相关推荐
程序员Xu2 小时前
【OD机试题解法笔记】查找接口成功率最优时间段
笔记·算法
技术思考者3 小时前
Leetcode - 反转字符串
数据结构·算法·leetcode
04Koi.3 小时前
八股训练--Spring
java·后端·spring
Dcs3 小时前
微软 Copilot 被“越狱”?安全研究员教你一招拿下“沙箱环境 Root 权限”!
java
SKYDROID云卓小助手3 小时前
无人设备遥控器之多设备协同技术篇
网络·人工智能·嵌入式硬件·算法·信号处理
℡余晖^4 小时前
每日面试题18:基本数据类型和引用数据类型的区别
java
熬了夜的程序员4 小时前
【华为机试】34. 在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·华为od·华为·面试·golang
hello 早上好4 小时前
消息顺序、消息重复问题
java·中间件
phltxy4 小时前
ArrayList与顺序表
java·算法
Doris_LMS4 小时前
保姆级别IDEA关联数据库方式、在IDEA中进行数据库的可视化操作(包含图解过程)
java·mysql·postgresql