首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
1个文件有100亿个int,1G内存,设计算法找到出现次数不
[问答题]
1个文件有100亿个int,1G内存,设计算法找到出现次数不超过2次的所有整数?
添加笔记
求解答(0)
邀请回答
收藏(112)
分享
纠错
3个回答
添加回答
1
逗逼邱奇
首先位图法肯定没错,用两位表示数出现的次数,00表示未出现,01表示出现1次,10表示出现两次,11表示两次以上。然后扫描100亿个数,查看位图中对应的位置,如果是00,01,10,则加1变成01,10,11;如果是11,则不变。最后再扫描一遍位图,输出01,10对应的数。 2^32 * 2 = 8Gbits = 1GB。
发表于 2018-04-03 15:18:09
回复(3)
1
/*起一个响亮的名字吧*/
先hash到多个文件中,每个文件中的整数用位图表示,一个字节就可以表示4个整数。最后把每个文件中不超过两次的整数和在一起就是答案。
发表于 2015-08-20 16:50:46
回复(2)
1
陈木木
Bitmap扩展:用2个bit表示状态,0未出现过,1出现过1次,2出现了2次或以上
编辑于 2015-05-18 13:20:48
回复(2)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
高级结构
上传者:
陈木木
难度:
3条回答
112收藏
6770浏览
热门推荐
相关试题
Disjoint-set data...
网易
高级结构
评论
(1)
编程题 ,按照要求创建Java 应...
Java
评论
(1)
微型计算机有三种总线,他们分别是数...
编程基础
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题