面试:如何从 100 亿 URL 中找出相同的 URL?
码农突围
共 1149字,需浏览 3分钟
·
2020-09-05 05:46
点击上方“码农突围”,马上关注
这里是码农充电第一站,回复“666”,获取一份专属大礼包
真爱,请设置“星标”或点个“在看”
题目描述 解答思路 方法总结
题目描述
解答思路
hash(URL) % 1000
,根据计算结果把遍历到的 URL 存储到 a0, a1, a2, ..., a999,这样每个大小约为 300MB。使用同样的方法遍历文件 b,把文件 b 中的 URL 分别存储到文件 b0, b1, b2, ..., b999 中。这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。那么接下来,我们只需要求出这 1000 对小文件中相同的 URL 就好了。i∈[0,999]
),把 URL 存储到一个 HashSet 集合中。然后遍历 bi 中每个 URL,看在 HashSet 集合中是否存在,若存在,说明这就是共同的 URL,可以把这个 URL 保存到一个单独的文件中。方法总结
分而治之,进行哈希取余; 对每个子文件进行 HashSet 统计。
最近热文
• 外包公司干了不到 3 个月,我离职了...(防坑指南) • MATLAB被禁,中国重新开发要多久? • 网传互联网公司加班表,排名第一的没有悬念! • 查询速度提升200倍,ClickHouse到底有多快? 最近整理了一份大厂算法刷题指南,包括一些刷题技巧,在知乎上已经有上万赞。同时还整理了一份6000页面试笔记。关注下面公众号,在公众号内回复「刷题」,即可免费获取!回复「加群」,可以邀请你加入读者群!
明天见(。・ω・。)ノ♡
评论