海量 QQ 号去重【腾讯】
QQ 号是 6-13 位数字,可通过以下高效方案去重:
- 方案 1:哈希表 / HashSet:将 QQ 号作为 Key 存入 HashSet(或 Redis 的 Set 结构),利用哈希表的去重特性,插入时自动过滤重复值。适用于内存可容纳数据的场景,时间复杂度 O (n),空间复杂度 O (n)。
- 方案 2:布隆过滤器(Bloom Filter):若数据量远超内存(如 10 亿级),先通过布隆过滤器初步过滤,存在的 QQ 号再进一步验证(如查数据库),不存在的直接排除。需容忍极低的误判率(可通过调整哈希函数数量和位数组大小控制),空间效率远超哈希表。
- 方案 3:外部排序去重:若数据存储在文件中,采用归并排序(如多路归并)对文件分块排序,排序过程中相邻去重,最终合并结果。适用于超大规模离线数据,时间复杂度 O (n log n),依赖磁盘 IO 但内存占用低。
上次更新: 12/30/2025