【发布时间】:2020-08-18 22:57:27
【问题描述】:
我在一次采访中被问到这个问题。问题是谷歌搜索自动完成建议。
给定一个前缀,该函数应该返回具有该前缀的前 N 个(常量)搜索词,即过去搜索次数最多的 N 个词,从曾经搜索过的所有具有该前缀的词中选择。
例如:对于前缀“ab”,N=3,所有搜索到的带有这个前缀的词都是:
- abc - 1次
- abcd - 1 次
- abcde - 5 次
- abgh - 6 次
- abnm - 3 次
函数应该返回 abcde,abgh,abnm。
我想到了 trie 树,但很难从中获得搜索量最高的词。
【问题讨论】:
-
没有语言标签?或者你只需要一个算法?
标签: string data-structures autocomplete prefix trie