Min Stack
来源:互联网 发布:单片机的原理与应用pdf 编辑:程序博客网 时间:2024/05/22 06:40
Min Stack
要求
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.
标签:Stack, Data Structure
我的提交:
public class MinStack { Stack<int> stack; Stack<int> minStack; public MinStack() { stack = new Stack<int>(); minStack = new Stack<int>(); } public void Push(int x) { stack.Push(x); if (minStack.Count == 0) minStack.Push(x); else if(minStack.Peek() >= x) minStack.Push(x); } public void Pop() { if(stack!=null) { int ele = stack.Pop(); if (ele == minStack.Peek()) minStack.Pop(); } } public int Top() { return stack.Peek(); } public int GetMin() { return minStack.Peek(); } }
注意事项:
- 使用两个栈,1st栈正常使用,2nd栈为最小栈,当新加入的元素值elem小于等于正常栈栈顶元素时,elem压入正常栈同时压入最小栈
- 对于最小栈,栈为空时(初始状态),新元素elem必加入栈中
P.S:欢迎各位学友都对我的解法的不足之处作出建议!
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集合类之Set
- setText参数如果是int类型,一定要在最后加上 +"",否则报错
- HDU 1074 Doing Homework(壮压 dp)
- 简单java
- 为何使用消息系统
- Min Stack
- jSigntrue去掉灰色线的方法
- 去哪儿网笔试题的某个算法
- texlive 在 fedora 19 的中文问题解决
- 启蒙之路--BI
- WIN7字体有阴影
- jQuery及Javascript,Bootstrap的学习笔记
- 去哪网2015春招C++考试题1-酒店价格合并
- res与res-auto的区别