算法

有100亿个整数的文件,我们只有1G内存,如何找到这个文件中出现次数最多的整数
全部评论
逐条读取文件hashmap,key为整数,values为次数,先取1ghashmap数据按次数构建小顶堆,pop出value最小的,删除这个key-value,从剩余key中载入一个key-values,放在堆顶并调整堆,堆顶又是最小了。直到没有可以从载入的数据,只剩下一个小顶堆,把小顶堆的数据构造大顶堆,堆顶最大。输出堆顶的key。
4 回复 分享
发布于 2017-10-13 22:55
美团的题吗?
点赞 回复 分享
发布于 2017-10-14 09:38
hash分流
点赞 回复 分享
发布于 2017-10-14 01:40
百度面试题?
点赞 回复 分享
发布于 2017-10-14 01:27
hash分为多个文件,然后统计每个文件中出线次数最多的那个,然后合并结果
点赞 回复 分享
发布于 2017-10-14 01:16
map_reduce
点赞 回复 分享
发布于 2017-10-13 21:55
hash分治吧
点赞 回复 分享
发布于 2017-10-13 21:43

相关推荐

不愿透露姓名的神秘牛友
07-16 12:23
点赞 评论 收藏
分享
想按时下班的大菠萝在...:隔壁学校的,加油多投, 实在不好找可以下个学期开学找,把算法八股准备好,项目有空再换换
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务