gpt4 book ai didi

java - Boyer-Moore 算法是否可以更改为仅搜索 "full words"?

转载 作者:行者123 更新时间:2023-12-02 07:27:03 24 4
gpt4 key购买 nike

我编写了一个 Java 函数,它实现了 Boyer-Moore 算法以在 char 数组中搜索给定的子字符串。它返回在数组中找到子字符串的每个索引的列表。例如,如果正在搜索的 char 数组包含短语“The Walking Dead”,并且作为参数给出的子字符串是“king”,则将返回包含值 7 的大小为 1 的列表。

我想更改此函数,以便仅返回 char 数组中完整单词的子字符串的索引。因此,前面的示例将返回一个空列表,但如果子字符串更改为“The”、“Walking”或“Dead”,则将返回大小为 1 的列表,值分别为 0、4 和 12。

这种功能可以使用 Boyer-Moore 算法实现吗?是否有任何其他字符串搜索算法能够有效地产生这些结果?

最佳答案

这可能不是您想要的答案,但您可以更改参数而不是算法:在搜索字符串的开头和结尾以及目标字符串的开头和结尾添加空格(如果第一个或最后一个单词被命中)。您还需要特殊对待标点符号和其他非单词字符。

关于java - Boyer-Moore 算法是否可以更改为仅搜索 "full words"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13427245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com