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

有一个包含20亿个全是32位整数的大文件,在其中找到出现次数最多的数。 要求: 内存限制2GB。 初级进阶: 40亿个整数。 高级进阶: 80亿个整数。 常规思路:   在很多整数中找到出现次数最多的数,通常的做法是使用哈希表对出现的每一个数做词频统计。如果一个数字出现20亿次,哈希表的一条记录需要8B。如果20亿个数都不同,那么哈希表的20亿条记录需要16GB。 解决思路:   记录大概 2 亿
相关文章
相关标签/搜索