leetcode(39).155. Min Stack
来源:互联网 发布:广州网站搜索优化 编辑:程序博客网 时间:2024/06/06 12:51
题意:
设计一个支持推入栈顶、弹出栈顶元素、返回栈顶值和检索最小元素的栈。
对于构造函数,我们需要确定实现栈的数据结构,考虑选取动态数组ArrayList。利用add() remove() get()方法就可以实现。
这是首要考虑的问题,那么第二个要考虑的问题就是数据类型。那么我们自己设计一个数据类型。
其它都好实现,但是对于获取最小元素,需要在stack类中定义一个属性,专门来存储。每次放入取出数据的时候更新。
public class MinStack { private List<data> list; private int min = Integer.MAX_VALUE; class data{ int val; int min; data(int val, int min){ this.val = val; this.min = min; } } /** initialize your data structure here. */ public MinStack() { list = new ArrayList<>(); } public void push(int x) { if(x<min) min = x; list.add(new data(x, min)); } public void pop() { list.remove(list.size()-1); if(list.isEmpty()) min = Integer.MAX_VALUE; else min = list.get(list.size()-1).min; } public int top() { return list.get(list.size()-1).val; } public int getMin() { return list.get(list.size()-1).min; }}/** * 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
- leetcode(39).155. Min Stack
- LeetCode 155. Min Stack
- 【LeetCode】155.Min Stack
- LeetCode 155.Min Stack
- [leetcode] 155.Min Stack
- [leetcode] 155.Min Stack
- Leetcode 155. Min Stack
- 155. Min Stack LeetCode
- [LeetCode]155. Min Stack
- LeetCode *** 155. Min Stack
- 【leetcode】155. Min Stack
- LeetCode 155. Min Stack
- leetcode-155. Min Stack
- LeetCode-155.Min Stack
- LeetCode - 155. Min Stack
- [Leetcode]155. Min Stack
- 【leetcode】155. Min Stack
- LeetCode 155. Min Stack
- MYSQL——DDL : 数据定义语句 (create alter drop)
- 粗略讲反射
- dd和cp命令差异
- handler内存泄露问题
- 常见对象_JDK5的新特性自动装箱和拆箱
- leetcode(39).155. Min Stack
- 粗略讲线程
- Spark RDD操作函数说明
- MYSQL——DML : 数据操作语句 (insert update delete)
- yii 2.0 配置数据库(三)
- Add Two Numbers II ---LeetCode
- hive OVER(PARTITION BY)函数用法
- elasticsearch head插件安装
- http简单记录