可查询最值
来源:互联网 发布:火影忍者ol先攻的算法 编辑:程序博客网 时间:2024/05/22 07:01
实现一个特殊的栈,在实现站的基本功能基础上,在实现返回栈中最小元素的操作getmin
要求:1、pop,push,getmin的操作时间复杂度都是1,2、设计栈的类型可以使用现成的栈结构
import java.util.Stack;public class Main { Stack<Integer> stackData = new Stack<>(); public void push(int node){ stackData.push(node); } public void pop(){ stackData.pop(); } public int top(){ return stackData.peek(); } //将栈中的数按照出入栈顺序全部倒出来,装进另一个栈中,其中用min记录过程中遇到的最小值 //然后再倒出来装回去 public int min(){ Stack<Integer> stackMin = new Stack<>(); int min=stackData.pop(); stackMin.push(min); while(!stackData.isEmpty()){ int value=stackData.pop(); if (value<min) { min=value; } stackMin.push(value); } while(!stackMin.isEmpty()){ stackData.push(stackMin.pop()); } return min; } //或者一一对应每一步将较小的值压入stackMin中 public int Min(int value){ Stack<Integer> stackMin=new Stack<>(); stackData.push(value); if (stackMin.isEmpty() || value<stackData.peek()) { stackMin.push(value); }else{ stackMin.push(stackMin.peek()); } return stackMin.pop(); }}
阅读全文
0 0
- 可查询最值
- 可查询最值的栈
- 可查询最值的练习题
- [牛客]可查询最值的栈练习题
- 可查询最值的栈 -- 算法小结
- RMQ-区间最值查询
- iOS ReactiveCocoa 最全常用API整理(可做为手册查询)
- ReactiveCocoa 最全常用API整理(可做为手册查询)
- iOS ReactiveCocoa 最全常用API整理(可做为手册查询)
- iOS ReactiveCocoa 最全常用API整理(可做为手册查询)
- RMQ 区间最值查询算法
- RMQ问题(区间最值查询)
- hdu1754 单点修改,区间最值查询
- RMQ(快速查询区间最值)
- UOJ164 线段树历史最值查询
- 区间最值查询 --RMQ算法
- RMQ区间最值查询SparseTable算法
- RMQ静态区间最值查询
- Swing用户界面组件 文本输入练习
- 【Java源码】PriorityQueue源码剖析及其应用
- R语言做岭回归
- 360浏览器,qq浏览器等登录页输入账号密码,在页面内再次遇见有密码框的地方会自动填充的解决办法。
- TCP之种种连接异常
- 可查询最值
- Unable to execute dex:Multiple dex files define XXXXX
- 在IoC容器中装配Bean(精通Spring+4.x++企业应用开发实战 四)
- Cookie和Session的区别与联系
- imageLoader
- Java中使用Comet4j实现服务器推送实现时报错
- python生成灰度图
- 转载 http://www.cnblogs.com/feixuelove1009/p/5823135.html
- 回车事件