由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Amazon常见设计题——设计电话簿求解
相关主题
facebook一题问个Google的面经问题
上午偷闲把TopKFrequentWords写出来了这个最优解应该是怎样的?
求教一个电话簿的设计问题(双向查询 自动提示)share int2roman and roman2int java version
google 电面fast phone book loopup4sum o(n^2)超时
leetcode上最搞笑的是这题关于java synchronized statement和static method or variable
请教一道面试题问一下OJ的Anagrams那道题
新鲜电面发个evernote的code challenge
first missing integer类型的问题,哪个方法最优?来讨论个uber的电面题
相关话题的讨论汇总
话题: trie话题: integer话题: hashmap话题: amazon话题: 设计
进入JobHunting版参与讨论
1 (共1页)
S*******C
发帖数: 822
1
一道Amazon常见设计题,其他公司也考过
设计个电话本, 可以用那些数据结构?
Design a phone book application. He was mainly looking for the data
structure. Follow up question was to write a code to insert data into a trie!
要求是可以根据人名字找到他的电话号码,根据电话号码可以找到人名字,一个人名字
下,可以有好几个号码,但是一个号码只对应一个人
我的解法:用trie储存所有人名String,trie node中有一个List类型的成员
变量来储存这个人的电话号码,这个解法是不是最优的?如果不是最优又该怎么做呢?
S*******C
发帖数: 822
2
我的这种解法只能用姓名快速查询到电话号码,而不能用电话号码快速查询姓名,后者
需要把电话号码最为key,把姓名作为value存在HashMap中吧?
s******7
发帖数: 1758
3
电话薄这种几百几千,用个链表就可以了
b**********5
发帖数: 7881
4
1) 为什么我看到这种题, 大家都用trie, 为什么没人用hashmap? 把人名hash 为
key, 为value?
2) to do the reverse lookup, phone number -> name, the total possible number
of combination就是10^10, so why not just use an array?
or u can use a hashmap of , as name->id
and then to reverse lookup, u can use an integer array
to store one's phone numbers, u can use hashMap number>

【在 S*******C 的大作中提到】
: 我的这种解法只能用姓名快速查询到电话号码,而不能用电话号码快速查询姓名,后者
: 需要把电话号码最为key,把姓名作为value存在HashMap中吧?

S*******C
发帖数: 822
5
用linkedlist查询速度太慢

【在 s******7 的大作中提到】
: 电话薄这种几百几千,用个链表就可以了
S*******C
发帖数: 822
6
1)用hashmap为什么没trie好,是因为大量相似的String作为key浪费大量空间,比如
Jessica和Jessie中很多字母"Jessi"都重复,用trie就不会有重复。
2)int array原则上是可以的,但只能在你有数亿的号码时用才比较好,这样要用10^10
的空间,如果只有几千的号码的话还是hashmap比较好

number

【在 b**********5 的大作中提到】
: 1) 为什么我看到这种题, 大家都用trie, 为什么没人用hashmap? 把人名hash 为
: key, 为value?
: 2) to do the reverse lookup, phone number -> name, the total possible number
: of combination就是10^10, so why not just use an array?
: or u can use a hashmap of , as name->id
: and then to reverse lookup, u can use an integer array
: to store one's phone numbers, u can use hashMap: number>

1 (共1页)
进入JobHunting版参与讨论
相关主题
来讨论个uber的电面题leetcode上最搞笑的是这题
Leetcode的Substring with Concatenation of All Words超时。请教一道面试题
lengthOfLongestSubstring 最后一个test case总是超时新鲜电面
Leetcode第30题真心不容易first missing integer类型的问题,哪个方法最优?
facebook一题问个Google的面经问题
上午偷闲把TopKFrequentWords写出来了这个最优解应该是怎样的?
求教一个电话簿的设计问题(双向查询 自动提示)share int2roman and roman2int java version
google 电面fast phone book loopup4sum o(n^2)超时
相关话题的讨论汇总
话题: trie话题: integer话题: hashmap话题: amazon话题: 设计