/** 设计包含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实现相关推荐

  1. 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java

    <LeetCode力扣练习>剑指 Offer 30. 包含min函数的栈 Java 一.资源 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调 ...

  2. Java实现min函数_AcWing 41. 包含min函数的栈--Java代码

    题目描述 blablabla 样例 blablabla 算法1 (辅助栈,同时压栈) $O(n)$ 分三种方法 1.(基础)x入栈,然后辅助栈的栈顶和x比较,x小,将x压入辅助栈,栈顶小,将栈顶压入 ...

  3. java的min函数_Java语言实现包含min函数的栈

    package stack; import java.util.ArrayList; /** * 实现包含min函数的栈 * @author DHC * @param */ public class ...

  4. 《剑指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]*. ...

  5. 【简洁写法】剑指 Offer 30. 包含min函数的栈

    立志用最少的代码做最高效的表达 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 示例: MinSt ...

  6. LeetCode剑指offer算法备战春招-包含min函数的栈

    剑指 Offer 30. 包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 示例 ...

  7. 剑指offer:面试题30. 包含min函数的栈

    题目:包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). MinStack min ...

  8. 包含min函数的栈 python_面试题_设计包含 min函数的栈

    设计包含 min函数的栈() 定义栈的数据结构,要求添加一个 minminmin函数,能够得到栈的最小元素. 要求函数 min.push以及 pop 的时间复杂度都是 O(1). #include u ...

  9. [剑指offer]面试题21:包含min函数的栈

    面试题21:包含min函数的栈 题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数.在该栈中,调用min.push及pop的时间复杂度都是O(1). 栈内压入3.4.2.1之 ...

最新文章

  1. 【仿去哪儿】骆驼动画加载
  2. HDU 1847 Good Luck in CET-4 Everybody!
  3. jar docker镜像不能启线程_使用docker部署SpringCloud项目
  4. BC30138: 无法在路径“C:\WINDOWS\TEMP\”中创建临时文件: 拒绝访问。
  5. Ngrok: 使用 Ngrok 实现内网穿透
  6. Apache ZooKeeper - 集群中 Leader 的作用_事务的请求处理与调度分析
  7. scrapy 第一个案例(爬取腾讯招聘职位信息)
  8. 数据结构基础(8) --单链表的设计与实现(1)之基本操作
  9. 开启mongodb数据库命令行_【赵强老师】使用MongoDB的命令行工具:mongoshell
  10. 2020年泰国物联网五大部门中 制造业物联网市值为13亿美元
  11. (转)C#中的Dictionary字典类介绍
  12. Unity3D之UGUI基础5:Toggle复选框
  13. 如何求地球上两点之间的最短距离_高三数学这样复习“最高效”,稳稳120+!...
  14. python-socket作业
  15. ADOBE PS镜像某个图层
  16. Java练习题2-基础(含解析)
  17. windows通过资源管理器访问服务器(samba服务),您需要权限来执行此操作
  18. win10无限重启_让迷你掌上电脑更具生产力,GPD安装 Win10+Ubuntu双系统
  19. 得到app文稿导出_得到app
  20. 100本《架构师》迷你书——限时免费领取

热门文章

  1. 纸鸢|物联网领域常见的11种网络类型
  2. [mysql] 命令行大全
  3. 双核奔腾超频冲上5.8GHz,暴涨87%
  4. 关于破解server2003和普通PC机开机密码的方法心得
  5. java8 Stream流 两个list取交集,获取共有数据
  6. 服务器提示远程桌面忙,远程桌面正忙无法完成执行任务解决方法
  7. (RCAN-it)Revisiting RCAN: Improved Training for Image Super-Resolution (重温 RCAN:改进图像超分辨率训练策略)
  8. Windows7出现蓝屏BCCode: 50
  9. SQL数据库CTE的用法
  10. 成为自由开发者的第100天,来一波拼团活动!