ホームページ >バックエンド開発 >PHPチュートリアル >文の類似性Ⅲ
1813年。文の類似性 III
難易度: 中
トピック: 配列、2 つのポインター、文字列
文 1 と文 2 の 2 つの文字列が与えられ、それぞれ単語で構成される 文 を表します。文は、単一のスペースで区切られ、先頭または末尾のスペースがない単語のリストです。各単語は英大文字と小文字のみで構成されています。
2 つの文 s1 と s2 は、これら 2 つの文が等しくなるようにこれらの文の 1 つに任意の文 (空の可能性があります) を挿入できる場合、類似とみなされます。 挿入する文はスペースで既存の単語と区切る必要があることに注意してください。
たとえば、
文 1 と文 2 の 2 つの文が与えられた場合、文 1 と文 2 が 似ている場合、真を返します。それ以外の場合は、falseを返します。
例 1:
例 2:
例 3:
制約:
ヒント:
解決策:
両方の文に共通する最長の接頭辞と接尾辞を比較することでそれにアプローチできます。 1 つの文の残りの部分の単語がもう 1 つの文に完全に含まれている (おそらく空である) 場合、その文は類似していると見なすことができます。
このソリューションを PHP で実装してみましょう: 1813。文の類似性 III
<p><?php<br> /**</p> <ul> <li>@param String $sentence1</li> <li>@param String $sentence2</li> <li>@return Boolean <em>/ function areSentencesSimilar($sentence1, $sentence2) { ... ... ... /</em>* <ul> <li>go to ./solution.php */ } </li> </ul> </li> </ul> <p>// Test examples<br> $sentence1 = "My name is Haley";<br> $sentence2 = "My Haley";<br> echo areSentencesSimilar($sentence1, $sentence2) ? 'true' : 'false'; // Output: true</p> <p>$sentence1 = "of";<br> $sentence2 = "A lot of words";<br> echo areSentencesSimilar($sentence1, $sentence2) ? 'true' : 'false'; // Output: false</p> <p>$sentence1 = "Eating right now";<br> $sentence2 = "Eating";<br> echo areSentencesSimilar($sentence1, $sentence2) ? 'true' : 'false'; // Output: true<br> ?></p>
このソリューションは、制約を考慮すると効率的に機能するはずです。
連絡先リンク
If you found this series helpful, please consider giving the repository a star on GitHub or sharing the post on your favorite social networks ?. Your support would mean a lot to me!
If you want more helpful content like this, feel free to follow me:
以上が文の類似性Ⅲの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。