首先我们可以想到一种很简单的方法:将元素压入栈中,当第二个元素压栈的时候,与第一个元素进行比较,然后使较大的元素出栈,压栈结束后,栈中存留的便是最小的元素。但是,如果我们要想得到下一个最小的元素呢? 另一种方法:便是建立一个辅助栈来存放最小值。 例:首先在空的数据栈中压入数字3,3是此时的最小值,把3也同时压入辅助栈; 接下来向数据栈中压入数字4,由于4>3,因此仍然向辅...
分类:
其他好文 时间:
2015-05-23 14:19:07
阅读次数:
95
定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中调用min,pop,push函数的时间复杂度都是O(1)。
#include
#include
using namespace std;
template class StackWidthMin{
public:
StackWidthMin(){}
~StackWidthMin(){}
T& top()...
分类:
其他好文 时间:
2015-05-16 20:37:54
阅读次数:
147
题目:
定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。
要求函数min、push以及pop的时间复杂度都是O(1)。
代码:
#include
#include
#define MAX_LEN_STACK 10
typedef struct
{
int stackList[MAX_LEN_STACK];
int to...
分类:
其他好文 时间:
2015-02-12 18:33:26
阅读次数:
132
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
push(x) -- Push element x onto stack.pop() -- Removes the element on top of the stack.top() -- Get...
分类:
其他好文 时间:
2015-02-05 13:46:31
阅读次数:
219
题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n(1#include #include using namespace std; int main(){ int n; ...
分类:
其他好文 时间:
2014-12-25 22:04:50
阅读次数:
160
定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、pop、push的时间复杂度为O(1);方法:采用一个辅助栈,该栈用来存放最小元素。当进行push操作时,将栈中的最小元素同时push进辅助栈中,当pop操作时同时pop掉辅助栈中的栈顶元素。这样元素栈对应位置的辅助栈中...
分类:
其他好文 时间:
2014-12-17 12:21:21
阅读次数:
166
题目1522:包含min函数的栈
时间限制:1 秒内存限制:128 兆特殊判题:否提交:1495解决:476
题目描述:
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
输入:
输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行为一个整数n(1<=n<=1000000), n代表将要输入的操作的步骤数。
接下来有n行,每行开始有一个字母Ci。
Ci...
分类:
其他好文 时间:
2014-12-08 10:48:54
阅读次数:
172
2.设计包含 min 函数的栈(栈)定义栈的数据结构,要求添加一个 min 函数,能够得到栈的最小元素。要求函数 min、push 以及 pop 的时间复杂度都是 O(1)。我的思路:用一个额外的元素记录最小值,push时若遇到更小的则更新。但是pop的时候遇到了问题,最小的弹出去了怎么得到下一个最...
分类:
其他好文 时间:
2014-09-09 21:25:59
阅读次数:
224
菜鸟系列之C/C++经典试题(三)
设计包含min函数的栈...
分类:
编程语言 时间:
2014-08-21 00:17:33
阅读次数:
263
实现一个栈,除了push、pop操作外,还包括函数min实现返回栈中最小值的功能,要求时间复杂度均为O(1)
//思路:增加一个辅助栈,将每次入栈操作后栈的最小元素(之前最小元素和新入栈元素的较小值)都保存在辅助栈里...
分类:
其他好文 时间:
2014-08-11 18:05:02
阅读次数:
193