力扣 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];
    }
}
相关推荐
你撅嘴真丑3 分钟前
第八章 - 贪心法
开发语言·c++·算法
VT.馒头8 分钟前
【力扣】2625. 扁平化嵌套数组
前端·javascript·算法·leetcode·职场和发展·typescript
wanghu20249 分钟前
AT_abc443_C~E题题解
c语言·算法
思想在飞肢体在追10 分钟前
Springboot项目配置Nacos
java·spring boot·后端·nacos
cyforkk12 分钟前
09、Java 基础硬核复习:异常处理(容错机制)的核心逻辑与面试考点
java·数据库·面试
u01092727116 分钟前
模板元编程调试方法
开发语言·c++·算法
??(lxy)32 分钟前
java高性能无锁队列——MpscLinkedQueue
java·开发语言
数研小生37 分钟前
Full Analysis of Taobao Item Detail API taobao.item.get
java·服务器·前端
2401_8384725140 分钟前
C++图形编程(OpenGL)
开发语言·c++·算法
-dzk-44 分钟前
【代码随想录】LC 203.移除链表元素
c语言·数据结构·c++·算法·链表