1 class MinStack { 2 public: 3 /** initialize your data structure here. */ 4 MinStack() { 5 6 } 7 stack s; 8 void push(int x) { 9 if(s.empty() || xpus... ...
分类:
其他好文 时间:
2019-06-15 20:10:41
阅读次数:
80
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。classSolution:"""由于需要包含min函数且满足栈的性质,那么我们可以增加一个保存辅助栈来保存最小值。假设我们设计两个存储栈,一个叫数据栈,一个叫最小栈。当数据栈有压入操作的时候,最小栈也执行一个压入操作,但是压入的值是当前数据栈中的最小值;当数据栈有弹出操作的时候,最小栈也
分类:
其他好文 时间:
2019-05-21 22:42:17
阅读次数:
228
堆 1. (leetcode 703) 数据流中的第k大元素 利用小顶堆 栈 1. leetcode 20 有效的括号 2. (leetcode 155)最小栈 3. (leetcode 225) 队列实现栈 4. (leetcode 496) 下一个更大的元素 5. (leetcode 682) ...
分类:
其他好文 时间:
2019-04-09 20:36:32
阅读次数:
174
题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 解题思路: 相当与在保留原栈的同时,去维护一个最小栈。利用一个辅助栈来完成。对于每个新输入的数,在压入原栈的同时,需要去判断是否为最小值,若为最小指,则压入辅助栈,否则将当前最小值压入 ...
分类:
其他好文 时间:
2019-03-26 13:52:53
阅读次数:
118
[TOC] BitMap 思路: 构造函数:取商作为长度,如果有余,则长度+1 set和get思路都是先取参数在bitmap中的index和offset,注意转化为int,然后进行相应的操作。 数据范围从0开始 最小栈 思路: 新建两个栈 push和pop中,s1照常执行。s2判断其顶部元素是否大于 ...
分类:
其他好文 时间:
2018-12-11 11:23:31
阅读次数:
272
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: ...
分类:
其他好文 时间:
2018-12-05 02:07:12
阅读次数:
174
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: ...
分类:
其他好文 时间:
2018-12-01 20:14:57
阅读次数:
191
题目描述: 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: ...
分类:
编程语言 时间:
2018-11-07 19:57:21
阅读次数:
238
20. Valid Parentheses 有效的括号 解题思路 将括号比较后者后,不同的入栈,相同的出栈,最后字符串遍历结束后栈为空则匹配成功。 155. Min Stack 最小栈 解题思路 使用链栈,实现基本的入栈出栈,遍历栈中元素,同时比较其值,取其中最小,最后返回最小值。 ...
分类:
编程语言 时间:
2018-10-27 19:57:15
阅读次数:
340
最小栈 实现一个最小栈,一步一步优化,空间O(N) 时间O(1) 。 [算法优化] 时间复杂度O(1) 空间复杂度较上面一段代码减少。push,pop,top,getMin都是O(1)时间。 ...
分类:
其他好文 时间:
2018-10-17 17:43:59
阅读次数:
227