思路 借助辅助栈保存当前栈最小值。 入栈:如果入栈元素小于最小栈的栈顶元素,则同时加入最小栈;否则,将最小栈栈顶元素再次加入最下栈 出栈:同时弹出两个栈中元素 代码 时间复杂度:O(1) 空间复杂度:O(1) class MinStack { stack<int> st1; stack<int> s ...
分类:
其他好文 时间:
2020-06-17 20:02:45
阅读次数:
47
最小栈的实现 摘自漫画算法: 题目:实现一个栈,该栈带有出栈(pop)、入栈(push)、取最小元素(getMin)3个方法。要保证这3个方法的时间复杂度都是O(1)。 如图: 解法步骤 1、设原有的栈叫作栈A,此时创建一个额外的“备胎”栈B,用于辅助栈A。 2、当第1个元素进入栈A时,让新元素也进 ...
分类:
编程语言 时间:
2020-06-05 20:48:51
阅读次数:
58
题目: 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。 示例: 输入:["MinStack","push ...
分类:
其他好文 时间:
2020-05-19 15:02:25
阅读次数:
46
当一个元素要入栈时,我们取当前辅助栈的栈顶存储的最小值,与当前元素比较得出最小值,将这个最小值插入辅助栈中(min_stack.push(min(x,min_stack.top())) 当一个元素要出栈时,我们把辅助栈的栈顶元素也一并弹出; 在任意一个时刻,栈内元素的最小值就存储在辅助栈的栈顶元素中 ...
分类:
其他好文 时间:
2020-05-13 15:22:21
阅读次数:
54
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。 示例: 输入:["MinStack","push","p ...
分类:
其他好文 时间:
2020-05-12 09:51:07
阅读次数:
53
题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。 求解思路1:设置两个栈结构,一个数据栈(dataStack)用来存放数据元素,另一个最小栈(mi ...
分类:
其他好文 时间:
2020-05-09 18:37:23
阅读次数:
50
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。pop() -- 删除栈顶的元素。top() -- 获取栈顶元素。getMin() -- 检索栈中的最小元素。示例: MinStack minStack = new Min ...
分类:
其他好文 时间:
2020-03-25 23:09:58
阅读次数:
67
2020年3月21日 Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. push(x) Push element x onto stack. pop() ...
分类:
其他好文 时间:
2020-03-21 21:26:35
阅读次数:
59
155. Min Stack(最小栈) 链接 https://leetcode cn.com/problems/min stack 题目 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) 将元素 x 推入栈中。 pop() 删除栈顶的元素。 top( ...
分类:
其他好文 时间:
2020-03-14 13:12:45
阅读次数:
64
最小栈。题意是设计一个栈,包括如下几个函数。 push(x) -- Push element x onto stack. pop() -- Removes the element on top of the stack. top() -- Get the top element. getMin() ...
分类:
其他好文 时间:
2020-02-18 10:07:23
阅读次数:
67