【发布时间】:2019-04-14 00:45:29
【问题描述】:
我在一次采访中遇到了这个问题。实现一个基本的自动完成系统(https://www.futurice.com/blog/data-structures-for-fast-autocomplete/)很容易从前缀字符串中获取字符串列表。现在我们要添加一些新功能。
例如, 用户输入:lun pla 输出:午餐计划(多词自动完成)
用户输入:pla 输出:午餐计划
用户输入:unc 输出:lunch(自动完成单词的一部分)
如何实现这些功能?
【问题讨论】:
-
向我们展示您迄今为止所做的尝试。
-
我在链接中使用了“字母词汇”。我将所有字符串存储在一个列表中并对其进行排序。然后我使用二进制搜索来查找以给定前缀开头的第一个和最后一个字符串。该方法只能处理前缀自动完成。我不知道如何添加这些新功能。
-
StackOverflow 期待您 try to solve your own problem first,因为您的尝试有助于我们更好地了解您想要什么。请编辑问题以说明您在Minimal, Complete, and Verifiable example 中遇到的具体问题。欲了解更多信息,请参阅How to Ask 并拨打tour。
标签: algorithm autocomplete search-engine