LeedCode—MinStack
来源:互联网 发布:dll文件恢复软件 编辑:程序博客网 时间:2024/05/16 05:31
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.
#include <iostream>#include <deque>using namespace std; //因为需要在constant time当中获得最小值,将最小值单独存储class MinStack {public:void push(int x) {stack.push_front(x);if (minStack.empty() || minStack.front() >= x){minStack.push_front(x);}}void pop() {if(stack.empty()){return;}if(stack.front() == minStack.front()){minStack.pop_front();}stack.pop_front();}int top() {if(stack.empty()){return 0;}return stack.front();}int getMin() {if(minStack.empty()){return 0;}return minStack.front();}private:deque<int> stack;deque<int> minStack;};int main(){MinStack stack;stack.push(512);stack.push(1024);stack.push(1024);stack.push(512);stack.pop();stack.getMin();stack.pop();stack.getMin();stack.pop();stack.getMin();}这里是利用了deque作为底层容器实现stack,还可以使用list和vector
使用deque的时候只用一端就可以了
0 0
- LeedCode—MinStack
- MinStack
- MinStack
- minStack
- MinStack
- MinStack
- Leedcode
- leedcode
- leetcode-MinStack
- LEETCODE-MinStack
- leetcode155.MinStack
- 【单调队列】leetcode MinStack
- LeetCode155 MinStack java题解
- leedcode——链表排序
- leedcode——链表插入排序
- leetcode 第160题 MinStack
- leedcode——Max Point on a Line
- leedcode——二叉树的后序遍历
- 程序员的路----程序员一定要仔细看
- POJ 1088 sking
- Log详解(Log.v,Log.d,Log.i,Log.w,Log.e)的用法
- sizeof的一个题目
- mysql中部分存储引擎的使用场景
- LeedCode—MinStack
- android 泛型 baseservice
- 链表判断环问题
- 从一家电子商务网站学到的经验教训
- 跨站请求伪造CSRF防护方法
- @Repository、@Service、@Controller 和 @Component
- Cover Flow编程1118
- Tsinghua MOOC 范围查询(Range)
- [MS SQL]外键约束