Boyer-Moore アルゴリズムを実装して char 配列内の特定の部分文字列を検索する Java 関数を作成しました。配列内で部分文字列が見つかったすべてのインデックスのリストを返します。たとえば、検索対象の char 配列に「The Walking Dead」という語句が含まれ、パラメーターとして指定された部分文字列が「king」である場合、値 7 を含むサイズ 1 のリストが返されます。
char 配列内の完全な単語である部分文字列のインデックスのみが返されるように、この関数を変更したいと思います。したがって、前の例では空のリストが返されますが、部分文字列が "The"、"Walking"、または "Dead" に変更された場合、サイズ 1 のリストがそれぞれ値 0、4、および 12 で返されます。
Boyer-Moore アルゴリズムを使用してこの種の機能を実装することは可能ですか? これらの結果を効率的に生成できる他の文字列検索アルゴリズムはありますか?