155. Min Stack(栈)
来源:互联网 发布:noesis.javascript 编辑:程序博客网 时间:2024/06/06 00:38
https://leetcode.com/problems/min-stack/description/
问题:实现一个栈,使得出栈,入栈,取最小值操作的时间复杂度都是O(1)。
思路:建立一个最小栈,储存最小值。
比如下面操作:
操作 基本栈 最小栈 返回值push(1) 1 1 push(2) 1 2 1 pop() 1 1push(-1) 1 -1 1 -1getmin(); 1 -1 1 -1 -1pop(): 1 1getmin(); 1 1 1
class MinStack {public: /** initialize your data structure here. */ stack<int>s; stack<int>temp; MinStack() { ; } void push(int x) { s.push(x); if(temp.empty()||x==temp.top()) temp.push(x); else if(temp.top()>x) temp.push(x); } void pop() { if(!temp.empty()&&temp.top()==s.top()) temp.pop(); if(!s.empty()) s.pop(); return ; } int top() { if(s.empty()) return NULL; return s.top(); } int getMin() { if(temp.empty()) return NULL; return temp.top(); }};/** * Your MinStack object will be instantiated and called as such: * MinStack obj = new MinStack(); * obj.push(x); * obj.pop(); * int param_3 = obj.top(); * int param_4 = obj.getMin(); */
阅读全文
0 0
- 155. Min Stack(栈)
- LeetCode 155. Min Stack(最小栈)
- 155.Min Stack(Stack-Easy)
- Stack-----155. Min Stack
- 155.Min Stack(求一个栈中的最小元素)
- 155. Min Stack&包含min函数的栈
- [LeetCode-155] Min Stack(设计一个 min 函数栈)
- 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
- div垂直居中
- 排错神器error_reporting 和display_errors
- 安卓中常用的权限和依赖
- 欢迎使用CSDN-markdown编辑器
- php Thinkphp结合composer实现smtp发送邮件
- 155. Min Stack(栈)
- DP 长寿花
- 高德地图api在android studio的实现
- 凸包的判定及将凸包中的点逆时针存在数组中
- 韦东山_数码相册程序_解析
- usaco
- tomcat启动报错:Multiple Contexts have a path of XXX.
- 【LeetCode】二叉树的所有路径
- 6.prototype属性