posts - 495,  comments - 11,  trackbacks - 0

> 问题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中?

> 解决:unsigned int 的取值范围是0到2^32-1。我们可以申请连续的2^32/8=512M的内存,用每一个bit对应一个unsigned int数字。首先将512M内存都初始化为0,然后每处理一个数字就将其对应的bit设置为1。当需要查询时,直接找到对应bit,看其值是0还是1即可。

posted on 2011-08-30 21:01 jadmin 阅读(131) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: