1. 算法如下:根据快速排序划分的思想 (1) 递归对所有数据分成[a,b)b(b,d]两个区间,(b,d]区间内的数都是大于[a,b)区间内的数 (2) 对(b,d]重复(1)操作,直到最右边的区间个数小于100个。注意[a,b)区间不用划分 (3) 返回上一个区间,并返回此区间的数字 ...
我记得在算法导论里看过这个算法,貌似开篇就是。 维护一个大小为 的数组top ,第一个里面存储最先 个数字里的最小值,构建小顶堆,然后循环下标 到一亿,若是大于top 就交换,重新构建小顶堆,循环完毕就得到结果了。 对top 插入排序效率不知道如何。 进行 次区间快排求k值如何。 进行 次桶排序如何。 不过复杂度分析还是弱项。 堆排序笔记:http: www.cnblogs.com hxsyl ...
2013-09-22 12:27 13 2377 推荐指数:
1. 算法如下:根据快速排序划分的思想 (1) 递归对所有数据分成[a,b)b(b,d]两个区间,(b,d]区间内的数都是大于[a,b)区间内的数 (2) 对(b,d]重复(1)操作,直到最右边的区间个数小于100个。注意[a,b)区间不用划分 (3) 返回上一个区间,并返回此区间的数字 ...
【来自程序员面试宝典】有1千万条短信,找出重复出现最多的前10条 题目: 有1千万条短信,有重复,以文本文件的形式保存,一行一条,有重复。请用5分钟时间,找出重复出现最多的前10条。 解析: 对于本题来说,某些面试者想用数据库的办法来实现:首先将文本导入数据库,再利用 ...
在面试时,避免不了的会遇到一些数据结构的面试题,今天我们就来了解一下二叉树的经典面试题: 已知二叉树的前序遍历顺序为ABDCEGHF,中序遍历顺序为DBAGEHCF,求该二叉树的后序遍历。 还有: 已知二叉树的中序遍历顺序为DBAGEHCF,后序遍历顺序为DBGHEFCA,求 ...
...
(1)10 thousand = 一萬 = 10 thousand(2)10 million = 一千萬 = 10 million(3)100 million = 一億 = 100 million(4)1 billion = 十億 = 1 billion ...
题目:将1到100的随机数插入到长度为100的数组中,保证不会有重复元素 ---方案一:使用set集合,可以保证set中不会有重复元素,当set大小为100时,退出循环; 获取1--100随机数方法有 : int a = (int)(Math.random ...
2、求1-100的所有数的和 #除了自定义的列表,我们还能用数字比如for i in range(1,10,3),rang里面三个数字分别代表开始,结束,步长。 #for中的break,可以在满足什么条件的时候退出循环: ...
一个头发稀少、穿着格子衬衣的中年男子走了进来,把手里拿的MAC放在桌子上,对我说:“我会用电脑记录面试过程,你不要介意啊”。 我回答到:“没关系。” 面试官:“先来一点基础的算法题吧,用Java写一个方法,求100万内的质数。” 我心中暗想确实很基础,质数不就是除了1和自身外无法被其他数 ...