假设整数为32bit,4个字节存储 这种题目,首先想到的是分而治之。将文件中数字分组。然后遍历文件中的数字,按分组进行计数。最后找到中位数所在的分组区间 1、如果10G个整数都为同一个,那么10G整数会分布在一个区间,10G=5*2^31 > 2^31 - 1,所以每个分组存储计数的整数 ...
来源:http: hxraid.iteye.com blog 题目:在一个文件中有 G 个整数,乱序排列,要求找出中位数。内存限制为 G。只写出思路即可 内存限制为 G的意思就是,可以使用 G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存 。 分析:既然要找中位数,很简单就是排序的想法。那么基于字节的桶排序是一个可行的方法 请见 桶排序 :思想:将整形的每 byte作为一个关键字,也就 ...
2016-07-03 22:25 2 1213 推荐指数:
假设整数为32bit,4个字节存储 这种题目,首先想到的是分而治之。将文件中数字分组。然后遍历文件中的数字,按分组进行计数。最后找到中位数所在的分组区间 1、如果10G个整数都为同一个,那么10G整数会分布在一个区间,10G=5*2^31 > 2^31 - 1,所以每个分组存储计数的整数 ...
腾讯面试题:10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。 题目和基本思路都来源网上,本人加以整理。 题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间 ...
题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的 空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。 分析: 既然要找中位数,很简单就是排序的想法。那么基于字节的桶排序是一个可行 ...
比如三个整数是 10 12 11,输出11 还是按照从结果出发思考问题 我们用middle变量来存放中位数 那么肯定有int middle 用户输入三个数分别是a b c 最后的结果无非是a是中位数 或者b是中位数 或者c是中位数 如果a是中位数则,middle ...
1. 在winxp下,安装10g,默认选择,一路ok。(安装前自检出现dhcp警告,可直接忽略) 2.命令行,在xp下,输入sqlplus,即可启动,登陆用 sqlplus / as sysdba 用管理员登陆 3.在恢复oracle时,先在 sqlplus里,先建立表空间,建用户,并给用户 ...
...
题目: 40亿 大整数,组成了一个大文件。想找到其中的 上中位数该怎么办?内存:10MB,怎么办?内存:20K,怎么办?内存:有限几个字符,怎么办?条件:按行读取文件,读取操作不占用内存。 应该具备的能力:2^k = ? 应该都能够熟记,达到反射性反应的程度。字节数 对应计算机中的 容量(T ...