大数据及空间限制
文章平均质量分 56
Wu_uuuu
这个作者很懒,什么都没留下…
展开
-
只用2GB内存在20亿个整数中找到出现次数最多的数
题目有一个包含20亿个全是32位整数的大文件,在其中找到出现次数最多的数,内存限制为2GB。思路在整数中找到出现次数最多的数,通常做法是使用哈希表对出现的每一个数做词频统计,Key为整数,Value为出现的次数。本题中,32位的整数作为Key,需要4B空间,Value最大值为20亿(在20个数均为同一个数的情况下),用32位的整数完全可以存储,也需要用4B内存空间,这样,一个键值对需要占用8B的内存原创 2017-07-01 10:50:15 · 907 阅读 · 0 评论 -
40亿个非负整数中找到没出现的数
题目原问题:32位无符号整数的范围是0-4294967295,现在有一个正好包含40亿个无符号整数的文件,所以在整个范围中必然有没出现过的数。最多一可使用1GB的内存空间,怎么找到左右没出现过的数?进阶:内存限制为10MB,但是只用找到一个没有出现过的数即可。思路1、原问题如果用哈希表来保存出现过的数,那么如果40亿个数都不同,则哈希表记录为40亿条,每条记录占4B,共占用内存40亿*4B=1原创 2017-07-01 11:33:27 · 729 阅读 · 0 评论