【发布时间】:2012-11-17 03:02:47
【问题描述】:
我编写了一个 Java 函数,它实现了 Boyer-Moore 算法来搜索 char 数组中的给定子字符串。它返回在数组中找到子字符串的每个索引的列表。例如,如果正在搜索的 char 数组包含短语“行尸走肉”并且作为参数给出的子字符串是“king”,则将返回包含值 7 的大小为 1 的列表。
我想更改此函数,以便仅返回 char 数组中完整单词的子字符串的索引。因此,前面的示例将返回一个空列表,但如果子字符串更改为“The”、“Walking”或“Dead”,则大小为 1 的列表将分别返回值 0、4 和 12。
这种功能是否可以使用 Boyer-Moore 算法来实现?是否有任何其他字符串搜索算法能够有效地产生这些结果?
【问题讨论】:
-
如果您使用当前算法在
" " + "The Walking Dead" + " "中搜索" The ",您已经进行了完整的单词搜索。
标签: java string search words boyer-moore