155. Min Stack
来源:互联网 发布:国研网宏观经济数据库 编辑:程序博客网 时间:2024/05/17 23:42
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.
思路:一个数组用来存值,一个数存最小值。注意:数组里存的是存入值与最小值的差,所以可能越界,要用long long类型保存差值。
class MinStack {public:void push(int x) {if (val.empty()){val.push_back(0);min = x;}else{val.push_back((long long)x - min);if (x < min)min = x;}}void pop() {if (!val.empty()){int index = val.size() - 1;if (val[index] < 0){min -= val[index];val.erase(val.begin()+index);}else{val.erase(val.begin() + index);}}}int top() {int index = val.size() - 1;if (val[index] < 0)return min;else{return min + val[index];}}int getMin() {if (!val.empty())return min;elsereturn -1;}private:vector<long long> val;int min;};
0 0
- Stack-----155. Min Stack
- LeetCode 155. Min Stack
- 【LeetCode】155.Min Stack
- LeetCode 155.Min Stack
- [leetcode] 155.Min Stack
- [leetcode] 155.Min Stack
- 155. Min Stack
- 155. Min Stack
- Leetcode 155. Min Stack
- 155. Min Stack
- 155. Min Stack LeetCode
- 155. Min Stack
- [LeetCode]155. Min Stack
- 155. Min Stack
- 155. Min Stack
- 155. Min Stack
- LeetCode *** 155. Min Stack
- 【leetcode】155. Min Stack
- Android杂记(1)小技巧()()
- 编译时异常、运行时异常、自定义异常-Java
- 添加自定义的Python模块方法
- hdu2065"红色病毒"问题
- Android数据存储之sharedpreferences与Content Provider
- 155. Min Stack
- Linux中的正则表达式
- 练习_统计词语
- 驱动兼容性问题
- JAVA实现最简单的双向链表、队列与栈(内部使用链表形式存储)
- 树莓派开发系列教程10——树莓派spi液晶屏支持(fbtft)
- hdu2066 一个人的旅行(最短路)
- Java垃圾收集算法
- 图解Tomcat类加载机制