包含min函数的栈JAVA实现
/** 设计包含min 函数的栈。* 定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。* 要求函数min、push 以及pop 的时间复杂度都是O(1)。* 思路:设计栈的元素同时包含当前值和当前最小值,这样当pop掉最小值的时候,栈顶元素依然保存着当前最小值
* 或者直接用两个栈,一个存数据,一个存最小值* */
import java.util.Stack;public class Solution {Stack<Integer> stack_data=new Stack<>();Stack<Integer> stack_min=new Stack<>();public void push(int node) {stack_data.push(node); if (stack_min.isEmpty()) {stack_min.push(node);}else if(node<min()){stack_min.push(node);}else {stack_min.push(min());}}public void pop() {stack_data.pop();stack_min.pop();}public int top() {return stack_data.peek();}public int min() {return stack_min.peek();}
}
包含min函数的栈JAVA实现相关推荐
- 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java
<LeetCode力扣练习>剑指 Offer 30. 包含min函数的栈 Java 一.资源 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调 ...
- Java实现min函数_AcWing 41. 包含min函数的栈--Java代码
题目描述 blablabla 样例 blablabla 算法1 (辅助栈,同时压栈) $O(n)$ 分三种方法 1.(基础)x入栈,然后辅助栈的栈顶和x比较,x小,将x压入辅助栈,栈顶小,将栈顶压入 ...
- java的min函数_Java语言实现包含min函数的栈
package stack; import java.util.ArrayList; /** * 实现包含min函数的栈 * @author DHC * @param */ public class ...
- 《剑指offer》-- 构建乘积数组、求1+2+3+...+n、不用加减乘除做加法、包含min函数的栈、用两个栈实现队列
一.构建乘积数组: 1.题目: 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*. ...
- 【简洁写法】剑指 Offer 30. 包含min函数的栈
立志用最少的代码做最高效的表达 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 示例: MinSt ...
- LeetCode剑指offer算法备战春招-包含min函数的栈
剑指 Offer 30. 包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 示例 ...
- 剑指offer:面试题30. 包含min函数的栈
题目:包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). MinStack min ...
- 包含min函数的栈 python_面试题_设计包含 min函数的栈
设计包含 min函数的栈() 定义栈的数据结构,要求添加一个 minminmin函数,能够得到栈的最小元素. 要求函数 min.push以及 pop 的时间复杂度都是 O(1). #include u ...
- [剑指offer]面试题21:包含min函数的栈
面试题21:包含min函数的栈 题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数.在该栈中,调用min.push及pop的时间复杂度都是O(1). 栈内压入3.4.2.1之 ...
最新文章
- 【仿去哪儿】骆驼动画加载
- HDU 1847 Good Luck in CET-4 Everybody!
- jar docker镜像不能启线程_使用docker部署SpringCloud项目
- BC30138: 无法在路径“C:\WINDOWS\TEMP\”中创建临时文件: 拒绝访问。
- Ngrok: 使用 Ngrok 实现内网穿透
- Apache ZooKeeper - 集群中 Leader 的作用_事务的请求处理与调度分析
- scrapy 第一个案例(爬取腾讯招聘职位信息)
- 数据结构基础(8) --单链表的设计与实现(1)之基本操作
- 开启mongodb数据库命令行_【赵强老师】使用MongoDB的命令行工具:mongoshell
- 2020年泰国物联网五大部门中 制造业物联网市值为13亿美元
- (转)C#中的Dictionary字典类介绍
- Unity3D之UGUI基础5:Toggle复选框
- 如何求地球上两点之间的最短距离_高三数学这样复习“最高效”,稳稳120+!...
- python-socket作业
- ADOBE PS镜像某个图层
- Java练习题2-基础(含解析)
- windows通过资源管理器访问服务器(samba服务),您需要权限来执行此操作
- win10无限重启_让迷你掌上电脑更具生产力,GPD安装 Win10+Ubuntu双系统
- 得到app文稿导出_得到app
- 100本《架构师》迷你书——限时免费领取
热门文章
- 纸鸢|物联网领域常见的11种网络类型
- [mysql] 命令行大全
- 双核奔腾超频冲上5.8GHz,暴涨87%
- 关于破解server2003和普通PC机开机密码的方法心得
- java8 Stream流 两个list取交集,获取共有数据
- 服务器提示远程桌面忙,远程桌面正忙无法完成执行任务解决方法
- (RCAN-it)Revisiting RCAN: Improved Training for Image Super-Resolution (重温 RCAN:改进图像超分辨率训练策略)
- Windows7出现蓝屏BCCode: 50
- SQL数据库CTE的用法
- 成为自由开发者的第100天,来一波拼团活动!