扫码关注微信公众号

回复“面试手册”,获取本站PDF版

回复“简历”,获取高质量简历模板

回复“加群”,加入程序员交流群

回复“电子书”,获取程序员类电子书

当前位置: 场景题 > 海量数据高频面试题 > 7.给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?

可以用分治法,然后遍历一遍,查看这个数是否在40亿个数中

不过这种判断某个数据是否存在,用位图法更合适,40亿个不重复的数需要40亿个bit,大约需要内存500多M,申请一个数组,遍历40亿个数,将对应的bit设置为1,然后查看需要查询的数的bit,如果为1,则表明在40亿个数中,如果为0,则表示不在40亿个数中。


点击面试手册,获取本站面试手册PDF完整版