力扣 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];
    }
}
相关推荐
随意起个昵称2 分钟前
线性dp-计数类题目9(斐波那契字符串)
算法·动态规划
超梦dasgg2 分钟前
Java 正则表达式 完整详解(语法 + 核心类 + 常用方法 + 实战案例)
java·开发语言·正则表达式
码语智行2 分钟前
操作日志注解模块
java·前端·python
方也_arkling3 分钟前
【Java-Day17】API篇-BigInteger和BigDecimal
java·开发语言
程序员三明治3 分钟前
【AI】RAG 数据分块(Chunk)策略与实践
java·人工智能·后端·ai·大模型·llm·rag
星辰_mya5 分钟前
ThreadLocal之微服务链路追踪
java·开发语言·前端
菜菜的顾清寒7 分钟前
力扣HOT100(49)动态规划 -- 打家劫舍
算法·leetcode·动态规划
松仔log7 分钟前
Jetpack——DataStore
java·kotlin
咸鱼翻身小阿橙9 分钟前
文件读写 + Qt Model/View + 自定义分页+搜索过滤
java·数据库·qt
葡萄城技术团队10 分钟前
观察生活:人是如何分词的
算法·生活