社区
C++ 语言
帖子详情
1亿个数可重无序排列,找出其中没出现的最小的数
mammonyy
2015-11-29 05:24:07
1亿个数可重无序排列,找出其中没出现的最小的数
虽然没要求时间没要求内存,但是我觉得要尽量小
我想的是用布隆过滤 把这1亿个数哈希到1GB的位上面,然后再从1开始从小到大去哈希到位上 判断是否是1……
但是依旧感觉费时很长。。 求大神贴下想法,有C/C++代码更好
...全文
147
2
打赏
收藏
1亿个数可重无序排列,找出其中没出现的最小的数
1亿个数可重无序排列,找出其中没出现的最小的数 虽然没要求时间没要求内存,但是我觉得要尽量小 我想的是用布隆过滤 把这1亿个数哈希到1GB的位上面,然后再从1开始从小到大去哈希到位上 判断是否是1…… 但是依旧感觉费时很长。。 求大神贴下想法,有C/C++代码更好
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lm_whales
2015-11-29
打赏
举报
回复
1亿个数哈希到125MBytes的位上面找到最大值最小值 你可以一次判断32Bits,或者64Bits 4或者8 Byte 如此只需要 32M 或者16M左右次搜索 也就是只要1000万次左右的比较这个还算比较快了 如果开四个或者8个线程,那就是几百万级的,已经很快了 我记intelX86 有cmps 串比较指令,也就是一个线程 几百万条指令而已。 换页,高级缓存造成的效率损失,比比较操作严重多了。
chehw_1
2015-11-29
打赏
举报
回复
假设最小值的重复次数不超过64K(64 * 1024)个 (0)先取前64K个数,用数组的方式建一个最大堆H; (1) 依次读取后续的数字,若1亿个数读取完毕,则跳转至(5); (2)将读取的数字与堆顶元素进行比较,如果大于堆顶元素,则返回(1); (3)如果小于等于堆顶元素,则用该数字替换堆顶元素,重建最大堆H; (4)返回(1) (5)用任意方法对H进行排序,找出其中的最小值(允许有重复,最多不超过64K个)
有一
亿
个随机
数
,不排序如何
找出
其中位
数
【转】
有一
亿
个随机
数
,不排序如何
找出
其中位
数
题目:在一个文件中有 10G 个整
数
,乱序
排列
,要求
找出
中位
数
。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。 关于中位
数
:
数
据排序后,位置在最中间的
数
值。即将
数
据分成两部分,一部分大于该
数
值,一部分小于该
数
值。中位
数
的位置:当样本
数
为奇
数
时,中位
数
=(N...
有一
亿
个随机
数
,不排序如何
找出
其中位
数
题目:在一个文件中有 10G 个整
数
,乱序
排列
,要求
找出
中位
数
。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。 关于中位
数
:
数
据排序后,位置在最中间的
数
值。即将
数
据分成两部分,一部分大于该
数
值,一部分小于该
数
值。中位
数
的位置:当样本
数
为奇
数
时,中位
数
=(N+1)/2 ; 当样本
数
为偶
数
时,中位
数
一百
亿
个
数
据
找出
其中的一千个最大的——堆排序
在处理大规模
数
据集时,我们经常需要
找出
其中的最大或
最小
元素。堆排序是一种高效的排序算法,它可以在较小的内存空间中处理大规模
数
据集,并
找出
其中的最大或
最小
元素。
一万个“
无序
”
数
查找两个重复
数
,在O(N)的基础上再快一点
原题见 莫贝特的博客,意思是 1-1000组成的序列,再加入一个1-1000之间的
数
,然后将这1001
个
数
打乱顺序。 问题:你现在拿到了这样一组
数
,请用最少的内存开销、最少的时间开销,
找出
那个重复的
数
。 由于最初
没
看清题意,以为是有序
数
列,于是想到了二分法。二分法是好方法,但是运用的前提条件搞错了,自然结果也就错了,受到 Zhao 首长的严肃批评。...
如何从40
亿
整
数
中找到不存在的一个
原文地址:从40
亿
个整
数
中找到不存在的一个 前言 给定一个最多包含40
亿
个随机
排列
的32位的顺序整
数
的顺序文件,
找出
一个不在文件中的32位整
数
。(在文件中至少确实一个这样的
数
-为什么?)。在具有足够内存的情况下,如何解决该问题?如果有几个外部的“临时”文件可用,但是仅有几百字节的内存,又该如何解决该问题? 分析 这仍然是《编程珠玑》中的一个问题。前面我们曾经提到过《位图法》,我...
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章