题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数。 #include <iostream> #include <cstdio> #include <cstring> #include <vector> #include <cmath> #include <cstd ...
分类:
编程语言 时间:
2018-07-18 00:37:51
阅读次数:
141
面试30题: 题目:包含min函数的栈 题:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。在该栈中,调用min、push、pop的时间复杂度都是O(1) 解题思路:1)如果每次压入新元素时,再调整让新元素位于栈顶,这种思路不能保证最后压入栈的元素最先出栈,因此这个数据结构已经 ...
分类:
其他好文 时间:
2018-06-23 17:11:58
阅读次数:
113
20:包含min函数的栈 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 感觉题目很无聊。。。我大js做这题就是方便,也让我深刻意识到相对其他语言js继承的强大性和灵活性。。。 function Permutation(str) { let ans = []; le ...
分类:
编程语言 时间:
2018-06-01 13:35:50
阅读次数:
198
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 思路:借助一个辅助栈,压入时判断辅助栈是否为空或者要压入的元素比栈顶元素小,弹出是判断,要弹出元素是否为辅助栈栈顶,是则弹出。min函数则是返回辅助栈栈顶元素。 代码: class Solution { private ...
分类:
其他好文 时间:
2018-05-28 14:58:38
阅读次数:
128
// // 题目描述 // 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 Stack stack = new Stack(); Stack stackMin = new Stack(); public void push(int node) { stack.push(nod... ...
分类:
其他好文 时间:
2018-05-08 14:46:30
阅读次数:
137
今日题目: 今天的题目都比较简单,下面一一介绍: 1. 顺时针打印矩阵 代码如下: 2. 包含min函数的栈 代码如下: 3.栈的压入、弹出序列 代码如下: 4. 从上到下打印二叉树 代码如下: 5. 二叉搜索树的后序遍历序列 代码如下: 6.二叉树中和为某一值的路径 代码如下: ...
分类:
编程语言 时间:
2018-02-02 21:46:55
阅读次数:
155
题21:包含min函数的栈 题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min,push及pop的时间复杂度都是O(1). public class Main { public static void main(String[] args){ perm ...
分类:
其他好文 时间:
2018-02-02 20:09:25
阅读次数:
167
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 本来我是直接遍历寻找最小值,然后看了一下别人的,一个vector a存数据,一个vector b存当前的最小值, 比如b[5]就是a前6个数的最小 ...
分类:
其他好文 时间:
2017-11-28 01:19:14
阅读次数:
165
题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 分析: 这题讲究效率,如果出栈一个一个的找,时间效率低下。 所以我们用空间换时间,定义一个辅助栈,存储当前的最小值。 入栈时,如果值是当前栈的最小值,则把值一并入辅助栈,不然只需要入主栈即可。 出栈时,如果当前栈的最 ...
分类:
其他好文 时间:
2017-10-29 12:43:36
阅读次数:
107
一、题目 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 二、思路 用一个栈dataStack保存数据,用另外一个栈minStack保存依次入栈最小的数。每次元素存入minStack的时候,如果该元素比minStack的栈顶元素小,则存入minStack,否则用minStac ...
分类:
其他好文 时间:
2017-10-02 21:32:38
阅读次数:
182