题目描述: 定义栈的数据结构(push/pop),请在该类型中实现一个能够得到栈中所含最小元素的min函数(三者的时间复杂度都应为O(1))。 测试用例: 1)新压入栈的数字比之前的最小值大/小 2)弹出的数字不是最小的元素/是最小的元素 解题思路: 1)借助辅助栈存储最小值,辅助栈顶一定都当前栈的 ...
分类:
其他好文 时间:
2019-03-04 21:00:51
阅读次数:
195
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 解题思路: 使用一个辅助栈,当当前数字比辅助栈顶元素小的时候,当前元素进栈;否则将辅助栈的栈顶元素进栈。 python solution: coding:utf 8 class Solu ...
分类:
其他好文 时间:
2019-03-02 18:53:08
阅读次数:
162
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 class Solution: def __init__(self): self.stack=[] self.minj=0 def push(self, node): # write c ...
分类:
其他好文 时间:
2019-02-21 21:43:53
阅读次数:
150
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 题目解答 import java.util.Stack; public class Solution { private Stack<Integer> stackData=new Sta ...
分类:
其他好文 时间:
2018-12-21 22:53:10
阅读次数:
216
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 利用两个栈,一个栈来正常保存所有元素,另一个栈作为辅助。仅在以下情况使用: push: 当辅助栈为空,或者辅助栈顶元素大于入栈元素时,辅助栈也push(value) pop: 当辅助栈顶 ...
分类:
其他好文 时间:
2018-12-02 22:37:45
阅读次数:
257
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。题目地址https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49?tpId=13&tqId=11173&rp=3&... ...
分类:
其他好文 时间:
2018-10-13 22:54:37
阅读次数:
214
题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 解题代码: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 解题代码: ...
分类:
其他好文 时间:
2018-09-07 01:04:10
阅读次数:
175
```C++ class Solution { private: vector vec; public: void push(int value) { vec.emplace_back(value); } void pop() { if(vec.empty()) return; vec.erase(... ...
分类:
其他好文 时间:
2018-08-26 18:21:01
阅读次数:
118
题目 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 思路 能够想到存储最小元素,关键是当最小元素被弹出之后,如何存储次小元素。 我们用一个辅助栈来存储。 1、当压入数字时,如果它比最小的还要小,则在辅助栈和数据栈中都压入该元素;如果它比最小元 ...
分类:
其他好文 时间:
2018-07-20 15:17:36
阅读次数:
182