实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值,
来源:互联网 发布:淘宝上的星巴克月饼券 编辑:程序博客网 时间:2024/06/07 05:14
实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值。
push,pop和min函数的时间复杂度都为O(1)。
import java.util.Stack;public class MinStack { public static void main(String[] args) { MinStack mStack = new MinStack(new Stack<Integer>(), new Stack<Integer>()); mStack.push(3); mStack.push(4); mStack.push(5); mStack.push(1); mStack.push(2); mStack.push(1); for(int i=0;i<5;i++) { System.out.println(mStack.getMin()); System.out.println(mStack.pop()); } } private Stack<Integer> dataStack; private Stack<Integer> minStack; public MinStack(Stack<Integer> dataStack,Stack<Integer> minStack) { this.dataStack = dataStack; this.minStack = minStack; } public void push(int num){ this.dataStack.push(num); if(minStack.isEmpty()) { minStack.push(num); }else if(num<=getMin()){ minStack.push(num); } } public int pop() { if(dataStack.isEmpty()){ throw new RuntimeException("The stack is empty"); } int value = dataStack.pop(); if(value == getMin()) { minStack.pop(); } return value; } public int getMin() { if(minStack.isEmpty()){ throw new RuntimeException("The stack is empty"); } int min = minStack.peek(); return min; }}
0 0
- cc150:实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值。
- 实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值,
- 011实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值,时间复杂度都为O(1)(keep it up)
- 算法2_实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值,时间复杂度都为O(1)(keep it up)
- 实现一个栈Stack,要求实现Push、Pop、Min(返回最小值的操作)的时间复杂度为O(1)
- 实现一个栈Stack,Push、Pop、Min(返回最小值的操作)的时间复杂度为O(1)
- 实现一个栈stack,push出栈,pop入栈,min返回最小值
- 实现一个栈,要求Push/Pop/Min(返回最小值)的时间复杂度为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)~
- 剑指offer 21---实现一个栈, 要求实现Push( 出栈) 、 Pop( 入栈) 、 Min( 返回最小值的操作) 的时间复杂度为O(1)
- 1. 实现一个栈,要求实现 Push (出栈)、 Pop (入栈)、 Min (返回最小值的操作) 的时间复杂度为 O(1)
- 实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- 实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- 实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- 欢迎使用CSDN-markdown编辑器
- 【排序算法】——堆排序
- 关于RHCE
- AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用
- Add Binary
- 实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值,
- 【J2EE】企业级项目开发总结--JMS发布-订阅模型篇
- Java中的substring真的会引起内存泄露么?
- Linux常用命令
- linux下执行java为什么bash:javac:command not found
- 【物联网】WiFi基础知识
- linux进程管理
- Java 实现单向链表
- Linux下locale: Cannot set LC_CTYPE to default locale: No such file or directory警告