实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作

实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。
【要求】
1.pop、push、getMin操作的时间复杂度都是O(1)。
2.设计的栈类型可以使用现成的栈结构。

思路

用两个栈 一个叫做data栈 正常存放数据 一个叫做Min栈 存放当前栈中的最小值
当一个数进来后,先放入data栈然后让该数和Min栈的栈顶比较
①若小于栈顶元素,则将该数压入Min栈成为新的栈顶。
②若大于栈顶元素,则将栈顶重复压入
两个栈同步增长

特殊的栈GetMin相关推荐

  1. 栈与队列1——设计getMin功能的栈

    题目 设计栈,实现基本功能的前提下,实现返回栈内最小元素的功能 要求 1.push,pop,getmin()复杂度为O(1) 2.允许使用现成栈结构 解决思路 使用两个栈,stackData和stac ...

  2. 设计一个带有getmin功能的栈,保证时间复杂度在O(1)

    2017-06-22  20:56:10 需要得到最小值,最简单的思路就是遍历一遍求出最小值.但是这样的时间复杂度会是O(n),不满足O(1)的要求.于是想到在建立一个栈来保存最小值. 具体操作是建立 ...

  3. 常考数据结构与算法:设计getMin功能的栈

    题目描述 实现一个特殊功能的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作. 示例1 输入 [[1,3],[1,2],[1,1],[3],[2],[3]] 返回值 [1,2] 备注: 有 ...

  4. 设计一个有getMin功能的栈 (python)

    题目: 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作 要求: 1.pop.push.getMin操作的时间复杂度都是O(1) 2.设计的栈类型可以使用现成的栈结构 解决办 ...

  5. python实现栈,实现push(),pop(),top(),getMin()方法

    设计一个栈,该栈可以进行push.pop.top和在常数时间内检索最小值的操作 push(x) – 压一个数到栈顶 pop() – 移除栈顶的元素,不返回任何对象 top() – 返回栈顶端的元素 g ...

  6. 栈和队列之设计一个有getMin(得到最小值)功能的栈

    有2中方案,分别用类和内部类实现了 import java.util.Stack;/*** @author chenyu 第一种设计:* 题目:设计一个有getMin功能的栈,设计一个特殊的栈,在实现 ...

  7. 《程序员代码面试指南》第一章 栈和队列 设计一个有getMin功能的栈

    题目 实现一个特殊的栈,在实现栈的基本功能上,再实现返回栈中最小的元素的操作 要求 1. pop.push.getMin操作时间复杂度都是O(1) 2. 设计的栈类型可以使用现成的栈结构 java代码 ...

  8. 有苦有乐的算法 --- 自定义一个栈,实现压栈(push)、弹栈(pop)、获取站内最小值(getmin)

    题目 自己定义一个栈的class,要求此栈有三个方法push.pop.getmin push:往栈中压入一个数据 pop:从栈中弹出一个数据 gitmin:过去这个栈中最小的数据单不弹出 解析 准备两 ...

  9. leetcode-155 最小栈

    设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) – 将元素 x 推入栈中. pop() – 删除栈顶的元素. top() – 获取栈顶元素. get ...

  10. C++的STL栈实现获取栈中最小元素的成员

    实现一个获取栈中最小数据成员的函数,该栈支持如下操作: 1.push(x) : 将元素x压入栈中 2.pop() : 弹出(移除)栈顶元素 3.top() : 返回栈顶元素 4.getMin() : ...

最新文章

  1. python怎么判断一个文件是否存在-python怎么判断一个目录下是否存在某个文件??谢啦!...
  2. mysql1846错误_远程连接MySQL报错ERROR 2003解决办法
  3. sccm 2007 r2 step by step 之十五 补丁管理
  4. application使用@符合问题:‘@‘ that cannot start any token
  5. 深入学习javascript:cookie
  6. iCode代码托管的一些基本指令
  7. 求任意多边形面积(凹多边形和凸多边形)
  8. 预测nba本赛季球队夺冠的胜率并进行相关分析
  9. 《认知心理学》思维导图
  10. CSDN创作中心Markdown编辑器基本使用方法
  11. 动画设计的12条基本原理
  12. 阿里撤退百度放弃,应用商店十年神话终落幕
  13. 计算机毕业设计-校园疫情防控系统【PHP源码】
  14. 「2019纪中集训Day23」解题报告
  15. java古诗词打印_java古诗词自动生成程序.doc
  16. R语言 | GEO数据库下载GSE基因芯片 以及表达矩阵和临床信息的提取
  17. javascript中的jQuery简单应用
  18. SQL 语句耗时查询
  19. npm丢失报错Error: Cannot find module ‘D:\node_modules\npm\bin\npm-cli.js‘
  20. 架构设计工具rhapsody的那些事

热门文章

  1. nginx 与fastcgi通信方式
  2. Docker(包括docker、mysql、tomcat的安装,以及部署web工程文件)
  3. DELPHI操作INI文件详细讲解
  4. npm -save 和-save-dev秒懂
  5. 6年专注,只因热爱——方创广告设计
  6. 基于AWS的电子商务网站架构——营销与推荐服务
  7. 也谈zabbix性能优化
  8. acrobat professional的安装版本
  9. NAT with same subnetwork
  10. linux TP 阿帕奇 数据库 php的安装