系统相关
首页 > 系统相关> > 关于“如何只用2GB内存从20亿,40亿,80亿个整数中找到出现次数最多的数?”的一种思路

关于“如何只用2GB内存从20亿,40亿,80亿个整数中找到出现次数最多的数?”的一种思路

作者:互联网

小弟不才,只懂一些c#的皮毛,有一些想法,

int32值范围大概在-20亿——20亿,按hashtable一个keyvalue占8B的设定来说,最大可以存储大约2.5亿个 数字-次数对。

那么,可以将int32的范围分成大约分成16组,每组去遍历这20亿个数字,然后将每组的最大值保存下来,最后再从这16组的最大值再比较一次就可以了

 

标签:int32,20,16,最大值,每组,40,2GB,亿个
来源: https://www.cnblogs.com/mirageJ/p/11011210.html