1813。句子相似度 III
難度:中
主題:陣列、兩個指標、字串
給你兩個字串sentence1和sentence2,每個字串代表一個由單字組成的句子。句子是單字的列表,由單一空格分隔,沒有前導或尾隨空格。每個單字僅由大寫和小寫英文字元組成。
兩個句子 s1 和 s2 被認為相似,如果可以在其中一個句子中插入任意句子(可能為空),使得兩個句子變得相等。 注意插入的句子必須與現有單字之間以空格分隔。
例如,
給定兩個句子sentence1和sentence2,如果sentence1和sentence2相似,則回傳true。否則,回傳 false.
範例1:
範例2:
範例 3:
約束:
提示:
解:
我們可以透過比較兩個句子的最長公共前綴和後綴來接近它。如果一個句子的剩餘部分中的單字完全包含在另一個句子中(可能是空的),那麼這些句子可以被認為是相似的。
讓我們用 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>
考慮到限制,該解決方案應該能夠有效地工作。
聯絡連結
如果您發現本系列有幫助,請考慮在 GitHub 上給 存儲庫 一個星號或在您最喜歡的社交網絡上分享該帖子? 。您的支持對我來說意義重大!
如果您想要更多類似的有用內容,請隨時關注我:
以上是句子相似度 III的詳細內容。更多資訊請關注PHP中文網其他相關文章!