采用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亿个整数。
最新推荐文章于 2022-04-12 11:03:07 发布
本文介绍了一种采用2-Bitmap技术优化内存消耗的方法,通过分配每个整数2bit来存储其出现次数,实现对大量整数的有效管理。详细阐述了从内存分配到整数扫描、位操作直至结果输出的全过程。
2634

被折叠的 条评论
为什么被折叠?



