面试题 只用2GB内存在20亿个整数中找到出现次数最多的数

1.如果直接做哈希,最坏的情况下,key需要4B,value需要4B,一共需要160亿B = 15GB,显然不行

2.如果把数据有2亿个,需要1.5GB 可以

3.按照最低4位做哈希,将大文件分为16个小文件,则每一位中key的个数不超过2亿

4. 分别统计16个文件里面的最大值,然后取最大即可

发布了81 篇原创文章 · 获赞 4 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/m0_37313888/article/details/105182518