文章 2017-03-25 来自:开发者社区

《剑指offer》-包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 class Solution{ public: void push(int value){ v.push_back(value); } void pop(){ v.pop_back(); } int top(){ return v[v.s...

文章 2015-12-08 来自:开发者社区

剑指offer系列之十九:包含min函数的栈

题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。要求时间复杂度是O(1)。 还是先说一下思路吧,因为每次方元素进栈的时候不能保证栈顶元素都是最小的,所以需要想办法使得栈顶元素始终是最小的元素,排序是一种思路,但是每次排序还设计重新出栈和入栈,想来应该不是这样的。一种思路是可以利用一个辅助栈,相当于是以空间换时间了。具体思路是:当入栈的新元素原先栈顶元素小的话就...

文章 2015-11-17 来自:开发者社区

包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。   public: /*入栈时,判断存放最小元素的栈是否为空, 入栈元素是否小于存放最小元素栈的栈顶元素*/ void push(int value) { stacktemp.push(value); if(minstack.empty() || value<minstack....

文章 2014-06-08 来自:开发者社区

【25】实现一个含有min函数的栈的通用模板

题目:设计一个栈类型,使得在该栈类型中有一个函数min可以得到栈的最小元素,要求这个栈的push、pop、min都是O(1)。 分析: 1. 栈的性质是先进后出,因此一般情况下栈的push、pop的时间是O(1),但是要求栈的min必须要枚举整个栈,时间复杂度为O(n) 2. 题目要求设计一个栈在O(1)的时间内找到min,我们要想到一个方法来满足,先看一个例子 3. 从下面的表中我们可以很清楚....

文章 2013-11-19 来自:开发者社区

剑指Offer之包含min函数的栈

题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为一个整数n(1<=n<=1000000), n代表将要输入的操作的步骤数。 接下来有n行,每行开始有一个字母Ci。 Ci=’s’时,接下有一个数字k,代表将k压入栈。 Ci=’o’时,弹出栈顶元素。...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注