电话号码前缀匹配(算法挑战)


题目详情如下:
某地电信局要对业务号码进行梳理,需要检测开通的市话号码是否存在与某一个号码是另一个的前缀的情况,以简化电话交换机的逻辑。例如:某用户号码是“11001100”,但与“110”报警电话产生前缀配对。已知市话号码最长8位,最短3位,并且所有3位的电话号码都以1开头。由于市话号码众多,长度也未必一致,现求以高效算法,要求用O(n)的时间复杂度来完成检测!

java 算法

基友大战百合 10 years, 7 months ago

用Trie树吧,查询效率比Hash更高。

狂気Dひとみ answered 10 years, 7 months ago

Your Answer