运用bitmap解决一道海量数据处理面试题:在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数。
2013-07-15 13:01
399 查看
采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共需内存2^32 * 2 bit=1 GB内存,还可以接受。然后扫描这2.5亿个整数,查看Bitmap中相对应位,如果是00变01,01变10,10保持不变。所描完事后,查看bitmap,把对应位是01的整数输出即可。
相关文章推荐
- 运用bitmap解决一道海量数据处理面试题:在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数。
- [海量数据处理]用2-Bitmap找出数组中不重复的整数
- 2.5亿个整数中找出不重复的整数 bitmap
- 问题描述如下: 有2.5亿个整数(这2.5亿个整数存储在一个数组里面,至于数组是放在外存还是内存,没有进一步具体说明); 要求找出这2.5亿个数字里面,不重复的数字的个数; 另外,可用的内存限定为600M; 要求算法尽量高效,最优;
- 解决java读取大文件内存溢出问题、如何在不重复读取与不耗尽内存的情况下处理大文件
- 位图法;海量数据处理之位图技巧;位图技巧;海量数据;编程珠玑第二章问题A;40亿整数;腾讯面试题
- 【海量数据处理】100亿个整数,内存足够,如何找到中位数?内存不足,如何找到中位数?
- 十道海量数据处理面试题及解决方法总结
- 一道海量数据处理面试题
- 海量数据一,从2.5亿个正整数中找到不重复的整数
- 【算法】海量数据处理:有一千万条短信,有重复,以文本形式保存,一行一条,找出重复最少的前10条
- 腾讯面试题:10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。
- 一道面试题:从一个字符串中找出第一个不重复字符;算法一;
- 2-bitmap 算法,可解决海量数据问题,减少内存使用
- 海量数据处理面试题(1) 找出两文件种包含的相同的url
- 在2.5亿个整数中找出不重复的整数的C++实现源代码
- 面试题:n个整数的序列,其中一个整数重复次数超过一半,在O(n)时间内找出该整数
- 一道面试题:从一个字符串中找出第一个不重复字符;算法二;
- 海量数据处理之归并、堆排、前K方法的应用:一道面试题
- 十七道海量数据处理面试题与Bit-map详解---之我对bitmap的理解