由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - an interview question in careercup
相关主题
转划单词题的优解HashTable相关的面试题
boggle的复杂度2-sum 用hash table实现的问题
问一个word ladder的题目面试归来,上面经回馈各位战友
大家看看我哪道题做错了?面试中遇上同一类的问题不会,请问这些都是哪方面的内容?
贡献一个中型软件公司面经[提议]算法coding题目需要太傻那样的黑宝书
关于Facebook Page,请教在Facebook工作的大牛们!问问通常所说的字典dictionary都是用什么数据结构表示的?
Interview Question I Gotcareercup 4th edition 20.13 full code哪里找?
在线紧急求助一道system design面试题,面经内附大家总是说工作中不会用到算法
相关话题的讨论汇总
话题: misspelled话题: careercup话题: question话题: interview话题: dictionary
进入JobHunting版参与讨论
1 (共1页)
s***n
发帖数: 116
1
a dictionary is given. You have a word which may be misspelled. How will you
check if it is misspelled?
应该用hashtable吧?
谁能给个hash function?
z***e
发帖数: 5393
2
why hash table?
prefix tree, or just sort the dictionary (usually already sorted) and then
search it.

you

【在 s***n 的大作中提到】
: a dictionary is given. You have a word which may be misspelled. How will you
: check if it is misspelled?
: 应该用hashtable吧?
: 谁能给个hash function?

g*******y
发帖数: 1930
3
这个网上有不少讨论的,有专门的paper,网站,专门的spell checker,不是一个简简
单单的算法问题。这个我这两天也正准备学习一下。
不过基本的思路呢,差不多都是基于edit distance的,这里就需要define一个metrics
来计算这个edit distance,比如insert delete replace swap等等操作可以有各自的
权重,复杂的还有要额外考虑英语发音相同相似的元音/音节,相似的拼写等等
然后我能想到的思路大概就是,对于每个dictionary里面的单词,计算出以它为root的
一颗树(每次往外算一层nearest neighbor,有点像是BFS的感觉,也有点计算最短路径
的感觉,当然其实BFS也就是一种最短路径的特例算法),所有的节点到该单词的edit
distance小于等于某个设定的值。
很多的树凑在一起,就形成了一个图(不同的树之间可以有shared node)
然后对一个misspelled word,就可以查询到和它距离<=给定值的正确单词集合,为了
快速查询,可以使用hash来存储: 单词->图的节点。

you

【在 s***n 的大作中提到】
: a dictionary is given. You have a word which may be misspelled. How will you
: check if it is misspelled?
: 应该用hashtable吧?
: 谁能给个hash function?

a*****e
发帖数: 51
4
The interviewer just asked to find whether the word is wrong or not...

metrics

【在 g*******y 的大作中提到】
: 这个网上有不少讨论的,有专门的paper,网站,专门的spell checker,不是一个简简
: 单单的算法问题。这个我这两天也正准备学习一下。
: 不过基本的思路呢,差不多都是基于edit distance的,这里就需要define一个metrics
: 来计算这个edit distance,比如insert delete replace swap等等操作可以有各自的
: 权重,复杂的还有要额外考虑英语发音相同相似的元音/音节,相似的拼写等等
: 然后我能想到的思路大概就是,对于每个dictionary里面的单词,计算出以它为root的
: 一颗树(每次往外算一层nearest neighbor,有点像是BFS的感觉,也有点计算最短路径
: 的感觉,当然其实BFS也就是一种最短路径的特例算法),所有的节点到该单词的edit
: distance小于等于某个设定的值。
: 很多的树凑在一起,就形成了一个图(不同的树之间可以有shared node)

a****n
发帖数: 1887
5
单词的字母sort,作为hash key
'me' --> ‘em’
...
然后再一个一个比对, 词少的时候快不了多少。。。
l*****a
发帖数: 14598
6
how to define misspell?
only 1 letter is wrong within exisiting words?

you

【在 s***n 的大作中提到】
: a dictionary is given. You have a word which may be misspelled. How will you
: check if it is misspelled?
: 应该用hashtable吧?
: 谁能给个hash function?

c****p
发帖数: 32
7
不存在什么misspell的问题,你能在dictionary里面找到就是对的,否则就是错的。我
觉得就是个基本的search问题,唯一要做的就是定义
bool operator>(string s1, string s2)
{
//缺省的未必对,需要自己实现字典顺序
}

【在 l*****a 的大作中提到】
: how to define misspell?
: only 1 letter is wrong within exisiting words?
:
: you

1 (共1页)
进入JobHunting版参与讨论
相关主题
大家总是说工作中不会用到算法贡献一个中型软件公司面经
湾区2012-2013,个人面筋总结关于Facebook Page,请教在Facebook工作的大牛们!
感觉careercup的作者对DP的理解有问题Interview Question I Got
菜鸟用careercup书和leetcode准备的一点体会在线紧急求助一道system design面试题,面经内附
转划单词题的优解HashTable相关的面试题
boggle的复杂度2-sum 用hash table实现的问题
问一个word ladder的题目面试归来,上面经回馈各位战友
大家看看我哪道题做错了?面试中遇上同一类的问题不会,请问这些都是哪方面的内容?
相关话题的讨论汇总
话题: misspelled话题: careercup话题: question话题: interview话题: dictionary