LeetCode Min Stack
来源:互联网 发布:中国实力知乎 编辑:程序博客网 时间:2024/06/05 20:44
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
- push(x) -- Push element x onto stack.
- pop() -- Removes the element on top of the stack.
- top() -- Get the top element.
- getMin() -- Retrieve the minimum element in the stack.
Have you met this question in a real interview?
Yes
No
Discuss
题意:写一个新的栈:支持入栈,出栈,得到栈顶,和得到此时栈最小的那个数
思路:前三个操作都可以用一个栈来实现,求最小的话就需要一个新的单调栈来维护了,这个新的单调栈需要注意的地方是:当原始的栈pop掉一个数的时候可能会影响到这个单调栈,只要判断此时pop掉的数的话,是不是单调栈的栈顶就能解决了,因为这个单调栈是原始栈的子集
class MinStack {public: void push(int x) { st.push(x); if (stm.empty() || stm.top() >= x) stm.push(x); } void pop() { int top = st.top(); st.pop(); if (top == stm.top()) stm.pop(); } int top() { return st.top(); } int getMin() { return stm.top(); } private: stack<int> st; stack<int> stm;};
0 0
- LeetCode[stack]: Min Stack
- [leetcode][stack] Min Stack
- 【Leetcode】Min Stack
- Leetcode: Min Stack
- leetcode Min stack
- Min Stack -- LeetCode
- Leetcode: Min Stack
- 【LeetCode】Min Stack
- leetcode Min Stack
- leetcode--Min Stack
- [Leetcode]Min stack
- leetcode:Min Stack
- leetcode 之 Min Stack
- leetcode Min Stack
- LeetCode(155) Min Stack
- [LeetCode]Min Stack
- leetcode:Min Stack
- leetcode - Min Stack
- UIView获取屏幕Screen中的坐标位置
- GUI 匿名类
- pat字符串-02
- 深度学习BP算法的推导(附加RNN,LSTM的推导说明)
- 比较perl+python
- LeetCode Min Stack
- php小知识点
- PHP引用(&)使用详解
- PipedInputStream和PipedOutputStream管道流
- hdu 1018 log10()
- 基于json-lib.jar包 创建JSONObject的四个常用方法
- c++学习书籍指南
- 图的广度优先遍历
- [ 全家拍 ] 一本可与他人分享的日历相册