【发布时间】:2013-03-30 05:43:58
【问题描述】:
对于任何输入字符串,我们需要以任意顺序逐字匹配查找超级字符串。即输入字符串中的所有单词必须以任何顺序出现在输出字符串中。 例如给定数据集: “字符串搜索” “java 字符串搜索” “手动 c 字符串搜索等于” “java 搜索代码” “c java代码搜索” ...
输入:“java搜索” 输出: 1)“java字符串搜索” 2)“java搜索代码” 3)“c java代码搜索”
输入:“搜索 c” 输出: 1)“手动c字符串搜索等于” 2)“c java代码搜索”
这可以通过逐字匹配以非常简单的方式完成。这里主要是我在寻找一种有效的算法。
输入:给定数据集中的数十亿条记录(主要是 1 到 10 个字长的字符串)。 我需要为数百万个字符串找到超级字符串。 注意:单词是扩展字典。
【问题讨论】:
-
你应该使用正则表达式
-
一个输入字符串与所有数据集(数十亿)的正则表达式比较相当高。现在我需要对另外一百万(如果不是十亿)输入字符串重复该操作!