100w电话号码去重。

zchlwj 发布于 2017/07/26 14:54
阅读 3K+
收藏 5

有一个需求,需要将100w电话号码找出重复的部分。电话号码不规则(国际号码、分机等)

目前尝试过的手段有

    1. hashSet 占用内存太大

    2. TrieTree 速度慢。占用内存大

    3. bitSet 规则的号码好用,不规则号码不好用。

排除的方法有:

     1. 布隆选择器 精度

请各位大神指点迷津

加载中
1
z
zhouyang

redis   set 

jers
jers
回复 @zchlwj : 100W就占内存了,你们服务器得有多低。
zcqshine
zcqshine
redis set 去处理的话, 一样也会占用内存, 速度应该还不如自己用 hahset 处理
亦可塞艇
亦可塞艇
回复 @zchlwj : 写个博客说下流程呗
zchlwj
zchlwj
最后用redis set 做的
7
星辰大海88
阿债
阿债
处理文本数据,不用awk还能用什么!
星辰大海88
星辰大海88
awk 进行分组统计 ; >1的打印出来; time awk -F '\001' '{s[$2] += 1} END {for (i in s) {print i, s[i]}}' logfilename.txt;150万数据大概5秒统计完成;
1
py庄稼汉
py庄稼汉
100w导入数据库很快吧。一个sql就搞定了。再关键字去重,然后就好了。
0
铂金蛋蛋
铂金蛋蛋

用数据库来做把

0
雲霏霏
雲霏霏

100W,占你多少内存?

zchlwj
zchlwj
150多M
0
士别三日
士别三日

一楼说的对,100w数据放进内存做什么

0
MZHS
MZHS

分而治之,比如将1XX开头的放到一个结构里,2XX开头的放到一个结构里。要是还大,把11X开头的,吧111X开头的,总能有办法叫你的运行时内存下去

0
feijing
feijing

艾玛不懂  路过   O(∩_∩)O哈哈~

0
0
红薯官方
红薯官方
一、先排序一下,然后、返回结果list只要判断后面一个add时是否是与上一个相同,100w个手机号,内存没问题。 list建议在构造函数设置初始化容量为70W长度,
zchlwj
zchlwj
占用内存太大了。这不是一个一次性任务。而且速度慢
youaadd
youaadd
可以
返回顶部
顶部