腾讯笔试题——数组位操作
来源:互联网 发布:知乎app怎么保存图片 编辑:程序博客网 时间:2024/06/03 21:18
问题:一个文件中有40亿个整数,每个整数为四个字节,内存为1GB,写出一个算法:求出这个文件里的整数里不包含的一个整数。
思路:
申请一个大数组,数组中的每一位表示一个int型数字。由于每个整数为四个字节,总共只有2^32约等于4G种可能,故需要512MB个bit,所以数组的大小为512MB,并初始化为0。
首先遍历40亿个整数,并将对应的bit置为1。对于重复的数字只统计一次,可以使用或操作来实现。
然后遍历一下数组的各个bit,是0就将对应的数字打印出来或保存起来。
代码:
未完待续!
思路:
申请一个大数组,数组中的每一位表示一个int型数字。由于每个整数为四个字节,总共只有2^32约等于4G种可能,故需要512MB个bit,所以数组的大小为512MB,并初始化为0。
首先遍历40亿个整数,并将对应的bit置为1。对于重复的数字只统计一次,可以使用或操作来实现。
然后遍历一下数组的各个bit,是0就将对应的数字打印出来或保存起来。
代码:
未完待续!
0 0
- 腾讯笔试题——数组位操作
- 腾讯的一道笔试加分题——给定一个数组构造另一个数组
- 某年的腾讯笔试题——不使用除法运算产生新数组
- C++ 位操作 笔试题
- tencent腾讯——笔试题2
- 给定数组a[N]构造数组b [N]——腾讯笔试
- 给定数组a[N]构造数组b[N]——腾讯笔试
- Java笔试题分类总结--位操作
- 2014腾讯实习笔试题——优先队列
- 2014腾讯实习生笔试题——define与typedef
- 笔试题总结归纳之 腾讯——基础研究
- 腾讯模拟笔试题——回形数
- 算法整理——2015腾讯开发岗笔试题
- 2016年腾讯笔试题——构造回文
- 腾讯笔试题——五笔编码
- 腾讯笔试题913——数字转换机
- 1—100猜数字,腾讯笔试题
- 腾讯笔试题—结构体的数据对齐
- 安卓可拖拽悬浮按钮
- 在线专题数据,GIS应用新选择
- linux 克隆及 错误
- 解决双系统中格式化Ubuntu后无法启动Windows
- android studio—— Github 从创建到提交
- 腾讯笔试题——数组位操作
- linux xshell连接
- jsonP解决跨域
- win7安装 VMware 7.1.4后局域网内的其他机器无法上网
- android图片压缩的3种方法实例
- yum expect 没有源
- 绘制多边形
- 【原创】win7下安装Vmware后,Vmware无法上网
- 【原创】C++之extern \"C\"的含义