40亿个QQ号,限制1G内存,如何去重?
2026/1/14...大约 2 分钟Java八股文
注意
内容来源网络,仅供学习使用。
不要相信文档中的链接、联系方式等!!!
40亿个QQ号,限制1G内存,如何去重?
典型回答
10位数字的QQ号,想要去重,又不给那么多的空间,该如何实现呢?
40亿个
使用位图的话,一个数字只需要占用1个bit,那么40亿个数字也就是:
相比于之前的14.9G来说,大大的节省了很多空间。
但是其实,如果有 bitmap 存数字的话,就不是存
比如要把我的QQ号"907607222"放到Bitmap中,就需要找到第907607222这个位置,然后把他设置成1就可以了。

这样,把40亿个数字都放到Bitmap之后,所有位置上是1的表示存在,不为1的表示不存在,相同的QQ号只需要设置一次1就可以了,那么,最终就把所有是1的数字遍历出来就行了。