模拟O(1)能返回最小值的栈
来源:互联网 发布:网络配音软件 编辑:程序博客网 时间:2024/06/06 12:47
使用辅助来存储每次入栈后的最小值
package test;import java.util.Arrays;public class Test2 {static int max = 10;static int n = -1;static int[] stack = new int[max],hstack = new int[max];static void pop(){stack[n] = -100000;hstack[n] = 1000000;n--;}static void push(int num){stack[n+1] = num;if(n==-1 || hstack[n]>num){hstack[n+1] = num;}else{hstack[n+1] = hstack[n];}n++;}static int min(){return hstack[n];}public static void main(String[] args) {Arrays.fill(stack, -100000);Arrays.fill(hstack, 100000);push(21);System.out.println(min());push(23);System.out.println(min());push(19);System.out.println(min());push(18);System.out.println(min());pop();System.out.println(min());}}
0 0
- 模拟O(1)能返回最小值的栈
- 在O(1)时间内返回栈的最小值
- 模拟实现一个Stack 要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- Min Stack:实现能返回最小值的栈
- 带有O(1)时间返回最小值的stack
- 实现一个栈,要求Push/Pop/Min(返回最小值)的时间复杂度为O(1)
- 实现一个出栈,入栈,返回最小值的操作的时间复杂度为O(1)的栈
- 设计一个带MIN的栈,要求出栈,入栈,返回最小值的时间复杂度为O(1)
- 实现一个栈Stack,Push、Pop、Min(返回最小值的操作)的时间复杂度为O(1)
- 实现一个栈Stack,要求实现Push、Pop、Min(返回最小值的操作)的时间复杂度为O(1)
- 实现O(1)获取最大最小值的栈----java
- O(1)时间求一个栈的最小值
- 【栈队列】实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- 栈--实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- 【数据结构】实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- 实现一个栈,要求Push(入栈),Pop(出栈),Min(返回最小值的操作)的时间复杂度为O(1)
- 实现一个栈,要求实现Push(入栈)、Pop(出栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- ~实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)~
- ffmpeg的使用
- 杂题排序——HDU 1862
- 【C语言】厄密多项式
- Android 网络通信框架Volley及编译成jar包
- one edit distance python
- 模拟O(1)能返回最小值的栈
- old_blog 回杨振宇的日志
- 用C#语言在Unity中实现剪刀石头布的游戏
- unity简单设计模式---Advanced CSharp Messenger
- poj 1066 Treasure Hunt
- 【C语言】数字的字符串转化为 数字
- POJ 2456 Aggressive cows(贪心+二分)
- ZOJ 1008 Gnome Tetravex
- HDOJ 题目5154 Harry and Magical Computer(拓扑排序)