#getMin

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

2017-06-22 20:56:10需要得到最小值,最简单的思路就是遍历一遍求出最小值。但是这样的时间复杂度会是O(n),不满足O(1)的要求。于是想到在建立一个栈来保存最小值。具体操作是建立两个栈,一个存放数据,一个存放最小值。push:首先将数据压入数据栈,若最小值栈为空,则将之压入最小值栈,若最小值栈...

设计一个有getMin功能的栈

【题目】  实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中的最小元素的操作。【要求】  1.pop、push、getMin操作的时间复杂度都是O(1)。  2.设计的栈类型可以使用现成的栈结构。方案一的代码实现如下:1importjava.util.Stack;2publicclassMyStack1{3...
代码星球 ·2020-04-18