首頁 > 後端開發 > php教程 > 數組中的字串匹配

數組中的字串匹配

Susan Sarandon
發布: 2025-01-08 06:24:46
原創
623 人瀏覽過

String Matching in an Array

1408。數組中的字串匹配

難度:簡單

主題:陣列、字串、字串符合

給定一個字串單字數組,傳回單字中作為另一個單字子字串的所有字串。您可以按任何順序回答案。

子字串是字串中連續的字元序列

範例1:

  • 輸入:words = ["mass","as","hero","superhero"]
  • 輸出: ["as","hero"]
  • 解釋:「as」是「mass」的子字串,「hero」是「superhero」的子字串。 ["hero","as"] 也是一個有效的答案。

範例2:

  • 輸入:words = ["leetcode","et","code"]
  • 輸出: ["et","code"]
  • 解釋:「et」、「code」是「leetcode」的子字串。

範例 3:

  • 輸入:words = ["blue","green","bu"]
  • 輸出: []
  • 解釋:沒有任何字串是另一個字串的子字串。

約束:

  • 1
  • 1
  • words[i] 只包含小寫英文字母。
  • 所有字串都是唯一

提示:

  1. 暴力破解一個字串是否是另一個字串的子字串或使用 KMP 演算法。

解:

我們需要找到words數組中作為數組中另一個單字的子字串的所有字串,您可以使用暴力方法。該方法涉及檢查列表中的每個字串並驗證它是否是任何其他字串的子字串。

讓我們用 PHP 實作這個解:1408。數組中的字串匹配

<?php
/**
 * @param String[] $words
 * @return String[]
 */
function stringMatching($words) {
    ...
    ...
    ...
    /**
     * go to ./solution.php
     */
}

// Example 1
$words = ["mass", "as", "hero", "superhero"];
print_r(stringMatching($words));

// Example 2
$words = ["leetcode", "et", "code"];
print_r(stringMatching($words));

// Example 3
$words = ["blue", "green", "bu"];
print_r(stringMatching($words));
?>
登入後複製

解釋:

  1. 函數 stringMatching 循環遍歷輸入數組中的所有單字。
  2. 對於每個單詞,它使用嵌套循環將其與數組中的每個其他單詞進行比較。
  3. 它使用 PHP 的 strpos() 函數來檢查一個字串是否是另一個字串的子字串。如果未找到子字串,strpos() 函數將傳回 false。
  4. 如果找到子字串,我們會將單字加到結果陣列中並跳出內循環,因為我們只需要記錄該單字一次。
  5. 最後,函數傳回包含所有子字串的結果陣列。

時間複雜度:

  • 時間複雜度為O(n2 x m),其中n 是單字,n 是單字,
m

是單字的最大長度單字。這是因為我們正在對每個其他單字中的每個單字執行子字串搜尋。


範例輸出:
Array
(
    [0] => as
    [1] => hero
)
登入後複製

對於輸入 ["mass", "as", "hero", "superhero"],輸出將為:

Array
(
    [0] => et
    [1] => code
)
登入後複製

對於輸入 ["leetcode", "et", "code"],輸出將是:

Array
(
)
登入後複製

對於輸入 ["blue", "green", "bu"],輸出將是:

該解決方案對於給定的問題限制非常有效。

聯絡連結

如果您發現本系列有幫助,請考慮在 GitHub 上給

存儲庫
    一個星號或在您最喜歡的社交網絡上分享該帖子? 。您的支持對我來說意義重大!
  • 如果您想要更多類似的有用內容,請隨時關注我:
  • 領英
GitHub

以上是數組中的字串匹配的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板