失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 挑战程序员同学 如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?

挑战程序员同学 如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?

时间:2023-05-19 02:51:37

相关推荐

挑战程序员同学 如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?

按位比较,比如先遍历一遍数字,判断第一位是0还是1多,然后便利多的那一位的数字,判断第二位是0还是1多,依次判断到第32位,就是出现次数最多的数字了

好吧,这个算法不对

我感觉这个题目是不是考的排序算法啊,这80亿个数字如果是有序的,则根本不需要2G内存

如果是无序的,则2G内存不够用,那么肯定要引入额外硬盘空间,既然都引入额外硬盘空间了,那也不用这么多内存了。

所以我估计题目应该是这样:

硬盘空间固定,存储了80亿个随机数字,硬盘可写,只有2G内存,找到其中出现次数最多的数。

解决方案就是排序,但是改写硬盘数据的时候必须成对的改写

chainofhonor

4粉丝 · 33赞

搜索

十大最耐用的硬盘

排列三神奇算法

自学编程

程序员级别

出号算法

从零开始自学编程

如果觉得《挑战程序员同学 如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。