LeetCode(64)- Min Stack
来源:互联网 发布:js调用手机软键盘事件 编辑:程序博客网 时间:2024/06/16 13: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.
思路:
- 题意:给出四个函数API,构造一个stack,而且能够返回最小值
- 用双栈的策略,一个用来正常的存储,一个用来存贮最小值
- 注意比较的时候。peek()函数要用equals函数比较,因为弹出的是对象
代码:
class MinStack { Stack<Integer> stack = new Stack<Integer>(); Stack<Integer> min = new Stack<Integer>(); public void push(int x) { if(min.isEmpty() || x <= min.peek()){ min.push(x); } stack.push(x); } public void pop() { if(stack == null){ return; } if(min.peek().equals(stack.peek())){ min.pop(); } stack.pop(); } public int top() { return stack.peek(); } public int getMin() { return min.peek(); }}
0 0
- LeetCode(64)- Min Stack
- LeetCode[stack]: Min Stack
- [leetcode][stack] Min Stack
- 【Leetcode】Min Stack
- Leetcode: Min Stack
- leetcode Min stack
- Min Stack -- LeetCode
- Leetcode: Min Stack
- 【LeetCode】Min Stack
- leetcode Min Stack
- leetcode--Min Stack
- [Leetcode]Min stack
- leetcode:Min Stack
- leetcode 之 Min Stack
- leetcode Min Stack
- LeetCode(155) Min Stack
- [LeetCode]Min Stack
- leetcode:Min Stack
- 概率论:假设检验-t检验和Augmented Dickey–Fuller test
- ViewPager中监听事件的解析
- java内部类设计的作用详解
- 写给新手程序员的一封信
- 利用AVFoundation实现二维码扫描以及其中的问题
- LeetCode(64)- Min Stack
- 读C#委托与事件笔记
- hdu1045FireNet
- PHP,.net,Java的区别
- Android API Guides---Camera
- hdoj 1872稳定排序
- 哈理工oj 1006 River Hopscotch
- 事件拦截机制分析
- POJ - 1631 Bridging signals