远景能源-【内推】Android开发-20170805

电面

  • 自我介绍
  • 项目和实习内容
  • 一个txt文档中有100个手机号,有可能会有重复的,如何用最快的方法找出重复的?

建立一颗树,建立的过程为:
1)开始的时候树是空的。
2)逐个读取手机行,比如读入一个手机号为:12345678900,在树中插入这个手机号后,树为:
root
└─1
└─2
└─3
└─4
└─5
└─6
└─7
└─8
└─9
└─0
└─0
3)插入若干手机号后,树可能是这样的:
root
└─1
├─2
│ └─3
│ └─4
│ └─5
│ └─6
│ ├─6
│ │ └─8
│ │ └─9
│ │ └─0
│ │ ├─0
│ │ └─1
│ └─7
│ └─8
│ └─9
│ └─0
│ ├─0
│ └─1
├─5
│ └─3
│ └─4
│ └─5
│ └─6
│ └─7
│ └─8
│ └─9
│ └─0
│ └─0
└─7
└─3
└─4
└─5
└─6

                    └─7
                        └─8
                            └─9

这颗数一共有 6 个手机号,分别是:
12345668900
12345668901
12345678900
12345678901
15345678900
17345678900
4)判断一个手机号是不是重复的,只要在这颗树里面,逐层逐个数字查找就可以了。
5)效率分析:这种算法,插入一个新的手机号,以及查找一个手机号是否重复,效率都是很高的。

一个个以字符串形式取出存入如一个Set<String>集合和一个List集合all,因为Set集合不允许重复所以在把Set转成List other,然后all.removeAll(other);剩下的就是重复的。比树要麻烦。

  • Java 0-9生成不重复五位数字验证码
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 曾经有一份美好的爱情放在我的面前我没有珍惜。等到失去后才后悔莫及。如果可以再对小李说。毛欣想说。这辈子无缘再牵手。...
    毛欣与小李阅读 2,673评论 0 13
  • 不丹归来,最大的收获是在不经意的辗转间认识了央宗师。 据她姑姑讲她生长于香港,港大翻译专业毕业,结...
    060宋丹阅读 338评论 0 0
  • 一直计划去24小时书店,让自己心灵自由畅想一天,于是在没有计划的今天,这个想法就变成了一个计划。 ...
    曼丽心语阅读 244评论 0 1
  • 我叫孟瑶今年18岁,在我18岁生日的时候父亲因为公司亏空太大!那天我正跟朋友他们一起玩,接到爸爸的电话,刚刚接到电...
    黑暗小说阅读 221评论 0 0
  • (孩稚~梦乡)玩罢繁华霓虹下,乐尽孩稚童年心。倚偎伟岸大肩傍,心安无余入梦中。幼年无邪真可爱,饿哭饱笑玩开心。笑骂...
    甘朝武阅读 240评论 0 0