Min Stack
来源:互联网 发布:php 表单 编辑:程序博客网 时间:2024/06/05 18:26
题目:
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.
Example:
MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.getMin(); --> Returns -3.minStack.pop();minStack.top(); --> Returns 0.minStack.getMin(); --> Returns -2.
分析: 求最小值的方式有一定参考价值,每次栈顶记录此栈的最小值
代码:
class MinStack {public: /** initialize your data structure here. */ stack<int>stac; stack<int>minstack; MinStack() { } void push(int x) { if(stac.empty()) { stac.push(x); minstack.push(x); } else { stac.push(x); minstack.push(min(x,minstack.top())); } } void pop() { stac.pop(); minstack.pop(); } int top() { return stac.top(); } int getMin() { return minstack.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
- min stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- java中 HashMap和Hashtable,list、set和map 的区别
- JAVA面试宝典8
- 优化
- hdu5475 An easy problem(线段树+单点更新+区间求积)
- 决策树-模型与学习
- Min Stack
- 常用布局LinearLayout、RelativeLayout的特有属性
- Android设计模式 ~~~ 原型模式
- Android垃圾回收实质内容解析
- 人见人爱A^B
- Dijkstra及Floyd在多关键字(有主次顺序)约束下的最优路径
- java对象的强引用,软引用,弱引用和虚引用
- MySQL常用函数
- OC-UIKit-UILabel&第一个程序