首页 > 今日新闻 > 今日新闻 > 40亿QQ号,不超过1G内存,如何去重?

40亿QQ号,不超过1G内存,如何去重?

发布时间:2025-06-12 19:18:51来源: 15210273549
分享一道网上很火的面试题:40亿QQ号,不超过1G的内存,如何去重?
开头直接上干货:40亿个QQ号塞进电脑,内存只给1G,这题听着就离谱!但真有人用个小技巧搞定了——位图,原理简单到像小学生画格子签到。
 
---
 
一、为啥常规方法行不通?
 
1. 日常去重咋做?
一般人会想到用`HashSet`,把QQ号往里一丢,重复的自动过滤。
2. 但内存炸了!
40亿个QQ号,每个占4字节,总内存需要约15GB;如果是8字节,直接飙到30GB。可题目只给1G内存,硬塞肯定崩。
---
二、神操作:用位图省空间
1. 位图是啥?
想象一张超大的签到表:
- 每个格子代表一个QQ号。
- 如果这个QQ号来过,就在格子里画个勾;没来就空着。
→ 关键点:一个格子只占1个bit,比存QQ号本身省了几十倍空间。
2. 40亿QQ号要多少内存?
签到表需要40亿个格子:
```
40亿 bit ÷ 8 = 5亿字节
476MB ÷ 1024 ≈ 0.46GB
```
不到0.5GB就能搞定! 完美满足1G限制。
3. 操作三步走:
- 第一步:准备一张40亿格子的签到表。
- 第二步:遍历所有QQ号,每看到一个号,就在对应格子画勾。
- 第三步:扫一遍签到表,把画了勾的格子对应的QQ号记下来——这些就是去重后的结果。
---
三、位图的优缺点
- 优点:
✅ 省内存:40亿数据只用半G,爽!
✅ 速度快:找号码、画勾都是秒完成。
✅ 操作简单:像查签到表一样直观。
- 缺点:
❌ 号码不能太分散:如果QQ号最大到1万亿,格子就得预留1万亿个,内存直接涨到125GB,血亏。
❌ 只能记“来过”:想统计某个号来了几次?做不到。

今日新闻更多>>

618不入耳蓝牙耳机怎么选?开放式耳机推荐排行榜 2025蓝牙耳机推荐!即智能又佩戴舒适 蓝宝石PURE极地RX 9060 XT 8G D6显卡 2K游戏理想之选 40亿QQ号,不超过1G内存,如何去重? 中外媒体江苏行| 人形机器人可“进厂打螺丝”,外国记者点赞苏州科技创新成果 原来直播很多词不能说是因为这样!万万没想到,一直被误导欺骗 引领主播向上向善、构建清朗直播生态!这场论坛即将开启 QQ终于出256级“时光企鹅”!那个挂机22年的网友真成了全球第一 更适合侧睡的ASMR助眠神器:wedoking三代睡眠耳机,助你快速入睡 赶在国补暂停之前 7999元拿下万元内最强笔记本显卡 恩智浦申请用于调节对安全功能的访问权的系统和方法专利,调节主机对多个安全功能的访问权 格力•至尊空调获中国专利奖外观设计金奖 感受更高阶的智能驾驶,试驾理想L系列智能焕新版 日本发布人工智能武器研发指南,明确“人类干预”必要性 智能周报|AI真的能赚钱了 小鹏MONA M03 Max到店实拍,增新配色+续航600km,满血版AI智能上车 东风风神L8插混SUV完成工信部申报,定档年中上市 五菱汽车:从农机厂到全球新能源霸主的逆袭之路 宝骏享境:12万级の“废话终结者”,数据碾压一切杠精 别克昂科拉Plus上市,共推出两款车型,售价为12.69-13.69万元 日产再次开卷,天籁降至12.38万起,车长超4米9,入门配2.0L动力 大众汽车生死局:从全球第一到被中国车企追着打! 彻底改头换面!一篇文章,看懂第六代丰田 RAV4! 国安大剧力挺,比亚迪解锁国产实力新高度 价格从170多万降至一百四五十万,月销828台,这台奔驰确实很优秀 奥迪的“硬核武器库”:这些优势让对手直挠头 告别旧秩序!上汽打出“组合拳”为变革提速,这次能逆袭吗? 2025 款蔚来 ET5/ET5T 深度解析:猎装美学与智能科技的进阶之作 开过才知道有多好,试驾广汽本田P7 稀有的猎装车也可以很亲民?奔驰CLA 260猎跑车情绪价值与性能兼备