1. 一百万个数,找出里面最大的100个(最小堆)
4. 两个有序数组合并
1. 写出二分查找代码
2. 将两个有序的数据合并为一个有序的数组
3. 有一个二位数组,每一行依次递增,每一列依次递增,问如何快速确定一个数是否在该二维数据中?
2. 两个栈实现一个队列
普通方法,
变种方法:
真正性能较高的,其实是另一个变种。即:
入队时,将元素压入s1。
出队时,判断s2是否为空,如不为空,则直接弹出顶元素;如为空,则将s1的元素逐个“倒入”s2,把最后一个元素弹出并出队。
这个思路,避免了反复“倒”栈,仅在需要时才“倒”一次。但在实际面试中很少有人说出,可能是时间较少的缘故吧。
http://www.cnblogs.com/wanghui9072229/archive/2011/11/22/2259391.html
4. 两个有序数组合并
1. 写出二分查找代码
2. 将两个有序的数据合并为一个有序的数组
3. 有一个二位数组,每一行依次递增,每一列依次递增,问如何快速确定一个数是否在该二维数据中?