首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

腾讯面试题目,该怎么处理

2012-04-03 
腾讯面试题目1,10亿个数中选出最大的100个数?2,N多条短信,用什么算法从中找出相似内容的来?[解决办法]用前

腾讯面试题目
1,10亿个数中选出最大的100个数?
2,N多条短信,用什么算法从中找出相似内容的来?

[解决办法]
用前100个数构造堆,小根堆,对后面的每个数,先进行堆插入,再删除堆中最小值

复杂度n*log(m),n=10亿,m=100

[解决办法]
对于第二个问题:
用索引的方式,把所有的文本建立索引,找出相似度最大的
[解决办法]
2,N多条短信,用什么算法从中找出相似内容的来?
创建树,每个字符为一个节点,对于同一位置字符相同的共用一个节点。
最后找出具有公共节点的短信。
例如:MessageA "hello,world"
MessageB "hello,china"
ROOT
|

hello,
| \
w c
| \
o h
| \
r i
| \
l n
| \ 
d a

热点排行