美文网首页
155. 最小栈

155. 最小栈

作者: DAFFE | 来源:发表于2018-08-19 18:02 被阅读0次

设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。

push(x) -- 将元素 x 推入栈中。
pop() -- 删除栈顶的元素。
top() -- 获取栈顶元素。
getMin() -- 检索栈中的最小元素。

//建立两个栈,size不一样
class MinStack {
private:
    /** initialize your data structure here. */
    stack<int> s1;
    stack<int> s2;
public:   
    void push(int x) {
        s1.push(x);
        if (s2.empty() || x<=getMin()) s2.push(x);
    }
    
    void pop() {
        if (s1.top()==getMin()) s2.pop();
        s1.pop();   
    }
    
    int top() {
        return s1.top();
    }
    
    int getMin() {
        return s2.top();
    }
};
//只有一个栈
class MinStack {
private:
    /** initialize your data structure here. */
    stack<int> s1;
    int min=INT_MAX;
public:   
    void push(int x) {
        if (x<=min) {//当前输入小于等于min时,多压一次min
            s1.push(min);
            min=x;
        }
        s1.push(x);
    }
    
    void pop() {
        int temp=s1.top();s1.pop();
        if (temp==min) {//当前top=min时,多弹一次上一次保存的min
            min=s1.top();
            s1.pop();
        }
    }
    int top() {
        return s1.top();
    }
    int getMin() {
        return min;
    }
};

相关文章

  • LeetCode-155-最小栈

    LeetCode-155-最小栈 155. 最小栈[https://leetcode-cn.com/problem...

  • 栈 问题

    155. 最小栈 常数时间内检索最小元素 使用一个辅助栈,与元素栈同步插入与删除,用于存储与每个元素对应的最小值。...

  • LeetCode:最小栈

    155. 最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(...

  • LeetCode 155. 最小栈 | Python

    155. 最小栈 题目来源:https://leetcode-cn.com/problems/min-stack ...

  • LeetCode:155. 最小栈

    问题链接 155. 最小栈[https://leetcode-cn.com/problems/min-stack/...

  • LeetCode刷题笔记(三)栈与队列

    三. 栈与队列 python中的栈直接用list实现,队列用deque,需要导入外部包。 155. 最小栈 题目:...

  • 2.栈(二)

    题目汇总:https://leetcode-cn.com/tag/stack/155. 最小栈简单[✔]173. ...

  • LeetCodeDay24 —— 最小栈

    155. 最小栈 描述 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 pus...

  • 155. 最小栈

    155. 最小栈[https://leetcode.cn/problems/min-stack/] 设计一个支持 ...

  • 155. 最小栈

    题目地址(155. 最小栈) https://leetcode.cn/problems/min-stack/[ht...

网友评论

      本文标题:155. 最小栈

      本文链接:https://www.haomeiwen.com/subject/vuociftx.html