题目一:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min,push,pop的时间复杂度都是O(1).分析:建立一个辅助栈,每次将最小元素都保存起来放到辅助栈中。代码如下:其中m_data是数据栈,m_min是辅助栈。template<typenameT>v..
分类:
其他好文 时间:
2014-12-02 00:21:40
阅读次数:
160
python的min()函数也可用于比较tuple>>> a = (2,'asv','dfg')>>> b = (3,'gsg','weg')>>> c = (5,'bad','ser')>>> min(a, b, c)(2, 'asv', 'dfg')>>> 这是官方文档min(iterable[...
分类:
编程语言 时间:
2014-10-19 00:01:09
阅读次数:
359
分治法求最近点对
递归将点不断分成小组,计算最短距离。此时的最短距离仅仅是两点都属两块的某一块(这里的分割点是mid点)。
还需要考虑两点分属两块的情况。这时对于选点则把范围缩小到了以mid为中心。再将距离mid点x轴2*mindist范围点考虑在内。在这些点中,再取mid点,留下那些
y的距离不大于middist 的点进行距离计算。
PS:刚开始min函数写错了,写成了max,一...
分类:
其他好文 时间:
2014-09-30 11:50:35
阅读次数:
142
2.设计包含 min 函数的栈(栈)定义栈的数据结构,要求添加一个 min 函数,能够得到栈的最小元素。要求函数 min、push 以及 pop 的时间复杂度都是 O(1)。我的思路:用一个额外的元素记录最小值,push时若遇到更小的则更新。但是pop的时候遇到了问题,最小的弹出去了怎么得到下一个最...
分类:
其他好文 时间:
2014-09-09 21:25:59
阅读次数:
224
在C++编程中,函数(包括内联函数)一般都是小写,而宏定义的“函数”(带参数的宏)往往采用大写。
上面这句话,看似稀松平常,但是不遵循这句话却容易导致意想不到的错误!今天就记录一个典型案例:
由于内联函数和宏十分相似,都是在程序运行之前进行的,都是用函数体取代表达式,都可以规避函数调用带来的开销从而提高效率,因此很容易模糊二者的本质区别,以至于忘记本文开头的话。这不,今天我就这么做了。这样做固...
分类:
其他好文 时间:
2014-08-28 16:12:59
阅读次数:
305
实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值。
push,pop和min函数的时间复杂度都为O(1)。
看到这个题目最直接的反应是用一个变量来保存当前栈的最小值,让我们来看看这样可行否?
如果栈一直push那是没有问题,入栈元素如果比当前最小值还小,那就更新当前最小值。
可是如果pop掉的栈顶元素就是最小值,那么我们如何更新最小值呢?显然不太好办。...
分类:
其他好文 时间:
2014-08-22 22:38:01
阅读次数:
176
菜鸟系列之C/C++经典试题(三)
设计包含min函数的栈...
分类:
编程语言 时间:
2014-08-21 00:17:33
阅读次数:
263
当需要了解一列中的最大值时,可以使用MAX()函数;同样,当需要了解一列中的最小值时,可以使用MIN()函数。语法如下。SELECT MAX (column_name) / MIN (column_name)FROM table_name说明:列column_name中的数据可以是数值、字符串或是日...
分类:
数据库 时间:
2014-08-14 19:46:19
阅读次数:
255
实现一个栈,除了push、pop操作外,还包括函数min实现返回栈中最小值的功能,要求时间复杂度均为O(1)
//思路:增加一个辅助栈,将每次入栈操作后栈的最小元素(之前最小元素和新入栈元素的较小值)都保存在辅助栈里...
分类:
其他好文 时间:
2014-08-11 18:05:02
阅读次数:
193
题目:设计包含min函数的栈。
定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。
要求函数min、push以及pop的时间复杂度都是O(1)。
文件分布:
头文件和main文件
头文件:代码
#include
#include
using namespace std;
template
class stackWithMin{
private :
...
分类:
其他好文 时间:
2014-08-05 22:36:41
阅读次数:
304