特殊的栈GetMin
实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作
实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。
【要求】
1.pop、push、getMin操作的时间复杂度都是O(1)。
2.设计的栈类型可以使用现成的栈结构。
思路
用两个栈 一个叫做data栈 正常存放数据 一个叫做Min栈 存放当前栈中的最小值
当一个数进来后,先放入data栈然后让该数和Min栈的栈顶比较
①若小于栈顶元素,则将该数压入Min栈成为新的栈顶。
②若大于栈顶元素,则将栈顶重复压入
两个栈同步增长
特殊的栈GetMin相关推荐
- 栈与队列1——设计getMin功能的栈
题目 设计栈,实现基本功能的前提下,实现返回栈内最小元素的功能 要求 1.push,pop,getmin()复杂度为O(1) 2.允许使用现成栈结构 解决思路 使用两个栈,stackData和stac ...
- 设计一个带有getmin功能的栈,保证时间复杂度在O(1)
2017-06-22 20:56:10 需要得到最小值,最简单的思路就是遍历一遍求出最小值.但是这样的时间复杂度会是O(n),不满足O(1)的要求.于是想到在建立一个栈来保存最小值. 具体操作是建立 ...
- 常考数据结构与算法:设计getMin功能的栈
题目描述 实现一个特殊功能的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作. 示例1 输入 [[1,3],[1,2],[1,1],[3],[2],[3]] 返回值 [1,2] 备注: 有 ...
- 设计一个有getMin功能的栈 (python)
题目: 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作 要求: 1.pop.push.getMin操作的时间复杂度都是O(1) 2.设计的栈类型可以使用现成的栈结构 解决办 ...
- python实现栈,实现push(),pop(),top(),getMin()方法
设计一个栈,该栈可以进行push.pop.top和在常数时间内检索最小值的操作 push(x) – 压一个数到栈顶 pop() – 移除栈顶的元素,不返回任何对象 top() – 返回栈顶端的元素 g ...
- 栈和队列之设计一个有getMin(得到最小值)功能的栈
有2中方案,分别用类和内部类实现了 import java.util.Stack;/*** @author chenyu 第一种设计:* 题目:设计一个有getMin功能的栈,设计一个特殊的栈,在实现 ...
- 《程序员代码面试指南》第一章 栈和队列 设计一个有getMin功能的栈
题目 实现一个特殊的栈,在实现栈的基本功能上,再实现返回栈中最小的元素的操作 要求 1. pop.push.getMin操作时间复杂度都是O(1) 2. 设计的栈类型可以使用现成的栈结构 java代码 ...
- 有苦有乐的算法 --- 自定义一个栈,实现压栈(push)、弹栈(pop)、获取站内最小值(getmin)
题目 自己定义一个栈的class,要求此栈有三个方法push.pop.getmin push:往栈中压入一个数据 pop:从栈中弹出一个数据 gitmin:过去这个栈中最小的数据单不弹出 解析 准备两 ...
- leetcode-155 最小栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) – 将元素 x 推入栈中. pop() – 删除栈顶的元素. top() – 获取栈顶元素. get ...
- C++的STL栈实现获取栈中最小元素的成员
实现一个获取栈中最小数据成员的函数,该栈支持如下操作: 1.push(x) : 将元素x压入栈中 2.pop() : 弹出(移除)栈顶元素 3.top() : 返回栈顶元素 4.getMin() : ...
最新文章
- python怎么判断一个文件是否存在-python怎么判断一个目录下是否存在某个文件??谢啦!...
- mysql1846错误_远程连接MySQL报错ERROR 2003解决办法
- sccm 2007 r2 step by step 之十五 补丁管理
- application使用@符合问题:‘@‘ that cannot start any token
- 深入学习javascript:cookie
- iCode代码托管的一些基本指令
- 求任意多边形面积(凹多边形和凸多边形)
- 预测nba本赛季球队夺冠的胜率并进行相关分析
- 《认知心理学》思维导图
- CSDN创作中心Markdown编辑器基本使用方法
- 动画设计的12条基本原理
- 阿里撤退百度放弃,应用商店十年神话终落幕
- 计算机毕业设计-校园疫情防控系统【PHP源码】
- 「2019纪中集训Day23」解题报告
- java古诗词打印_java古诗词自动生成程序.doc
- R语言 | GEO数据库下载GSE基因芯片 以及表达矩阵和临床信息的提取
- javascript中的jQuery简单应用
- SQL 语句耗时查询
- npm丢失报错Error: Cannot find module ‘D:\node_modules\npm\bin\npm-cli.js‘
- 架构设计工具rhapsody的那些事