第十二章:数的判断
来源:互联网 发布:网络捕鱼赌博游戏平台 编辑:程序博客网 时间:2024/06/05 05:59
数的判断
题目如下
7、腾讯面试题:给40亿个不重复的unsignedint的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?
分析:1个unsigned int占用4字节,40亿大约是4G个数不到,那么一共大约要用16G的内存空间,如果内存不够大,反复和硬盘交换数据的话,后果不堪设想。
位图法://腾讯面试题:给40亿个不重复的unsignedint的整数,没排过序的,//然后再给一个数,如何快速判断这个数是否在那40亿个数当中?//位图法,占内存512MB//一个unsigned int 能表示的数是0~2^32-1#include <iostream> #include <string>using namespace std; //一个unsigned int 可以表示32个数#define MAX 1<<27unsigned int num[MAX]={0};void main() { for(unsigned int i=1;i<=10000;i++){unsigned int index = i/32;unsigned int bit = i%32;num[index]|=1<<bit;}unsigned int n=100;if(num[n/32]&1<<(n%32))cout<<"Exist";}
0 0
- 第十二章:数的判断
- 第十二周项目三四数的最大公约数
- 完美数的判断
- 平方数的判断
- 回文数的判断
- 跳跃数的判断
- 回文数的判断
- 回文数的判断
- 回文数的判断
- 回文数的判断
- 同构数的判断
- 周期数的判断
- 对质数的判断
- 回文数的判断
- 完全数的判断
- 回文数的判断
- 完数的判断
- 回文数的判断
- spark集群安装
- Resharper6.0如何启用原VS的中文智能提示
- Linux 时钟管理
- struts2 体系结构
- Ubuntu安装MongoDB(非apt-get方式)
- 第十二章:数的判断
- AppCan移动快速开发平台是基于HTML5技术的跨平台快速开发解决方案
- lldb vs gdb 命令对比
- Java常用核心笔记
- 搜索功能开发
- windbg学习!vad
- iOS界面-抽屉式交互
- AJAX初学体验(1)
- Life