Leetcode 155. 最小栈 辅助栈

原题链接:Leetcode 155. 最小栈



官方解法:辅助栈

cpp 复制代码
class MinStack {
    stack<int> st;
    stack<int> minst;
public:
    MinStack() {
        minst.push(INT_MAX);
    }
    
    void push(int val) {
        st.push(val);
        minst.push(min(minst.top(),val));
    }
    
    void pop() {
        st.pop();
        minst.pop();
    }
    
    int top() {
        return st.top();
    }
    
    int getMin() {
        return minst.top();
    }
};

/**
 * 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();
 */

一个栈同时保存当前值和栈内最小值

cpp 复制代码
class MinStack {
    stack<pair<int,int>> st;
public:
    MinStack() {
        st.push({-1,INT_MAX});
    }
    
    void push(int val) {
        st.push({val,min(getMin(),val)});
    }
    
    void pop() {
        st.pop();
    }
    
    int top() {
        return st.top().first;
    }
    
    int getMin() {
        return st.top().second;
    }
};

/**
 * 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();
 */
相关推荐
alphaTao11 小时前
LeetCode 每日一题 2026/7/20-2026/7/26
算法·leetcode
圣保罗的大教堂12 小时前
leetcode 3514. 不同 XOR 三元组的数目 II 中等
leetcode
青山木15 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
xqqxqxxq16 小时前
LeetCode Hot100 双指针专项题解笔记
笔记·算法·leetcode
闪电悠米16 小时前
力扣hot100-54.螺旋矩阵-模拟边界控制详解
算法·leetcode·矩阵
To_OC1 天前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
闪电悠米2 天前
力扣hot100-73.矩阵置零-标记数组详解
算法·leetcode·矩阵
过期动态2 天前
【LeetCode 热题 100】找到字符串中所有字母异位词
java·数据结构·算法·leetcode·职场和发展·rabbitmq
Adios7942 天前
设置交集大小至少为2
数据结构·算法·leetcode
程序猿乐锅2 天前
【数据结构与算法 | 第六篇】力扣1109,1094差分数组
java·算法·leetcode