力扣 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];
    }
}
相关推荐
不吃香菜学java1 天前
Redis的java客户端
java·开发语言·spring boot·redis·缓存
captain3761 天前
事务___
java·数据库·mysql
北漂Zachary1 天前
四大编程语言终极对比
android·java·php·laravel
小江的记录本1 天前
【网络安全】《网络安全常见攻击与防御》(附:《六大攻击核心特性横向对比表》)
java·网络·人工智能·后端·python·安全·web安全
白羊by1 天前
YOLOv1~v11 全版本核心演进总览
深度学习·算法·yolo
嗑嗑嗑瓜子的猫1 天前
Java!它值得!
java·开发语言
墨尘笔尖1 天前
最大最小值降采样算法的优化
c++·算法
2401_895521341 天前
【Spring Security系列】Spring Security 过滤器详解与基于JDBC的认证实现
java·后端·spring
皮卡蛋炒饭.1 天前
线程的概念和控制
java·开发语言·jvm
一只大袋鼠1 天前
MyBatis 入门详细实战教程(一):从环境搭建到查询运行
java·开发语言·数据库·mysql·mybatis