这是我的第一篇算法贴.
之前去京东面试,那个面试官问了我一个面试题,大体如下。
面试官说:
京东的用户用手机号码注册,,现在有一个文件,里面存了一亿个用户的手机号码,是京东的用户。
现在有人注册,用最短的时间判断一个手机号码是否是已经注册的手机号。
附带说了一个条件,就是这么多数字一次全读进内存比较困难。
当时想法:
按照树形结构,构建一个树,手机号码前几位就那么几个,之后按照树形构建索引。

这篇博客探讨了如何使用位图(BitMap)数据结构解决亿级别手机号码的注册判断问题。通过创建一个十亿长度的bit数组,将手机号码视为数组下标,设置对应的位为1,从而实现高效查找。这种方法也可应用于排序,但前提是数据无重复。如果数据重复不超过n次,可以使用连续n位表示数字索引和重复次数。
最低0.47元/天 解锁文章
684

被折叠的 条评论
为什么被折叠?



