只有2GB内存在20亿个整数中找到出现次数最多的数
生活随笔
收集整理的这篇文章主要介绍了
只有2GB内存在20亿个整数中找到出现次数最多的数
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目:有一个包含20亿个全是32位整数的大文件,在其中找到出现次数最多的数
要求:内存限制2GB
解决办法:把包含20亿个数的大文件用哈希函数分成16个小文件,根据哈希函数的性质,同一种数不可能被散列到不同的小文件上,同时每个小文件中不同的数一定不会大于2亿种,假设哈希函数足够优秀,然后对每一个小文件用哈希表来统计其中每种出现的次数,这样我们就可以得到16个小文件中各自出现次数最多的数,还有各自的次数统计,接下来选出16个小文件各自的第一名中谁出现的次数最多即可
总结
以上是生活随笔为你收集整理的只有2GB内存在20亿个整数中找到出现次数最多的数的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 认识布隆过滤器
- 下一篇: 认识哈希函数(散列函数)