前往
大廳
主題

LeetCode - 1408. String Matching in an Array 解題心得

Not In My Back Yard | 2023-01-19 12:00:14 | 巴幣 0 | 人氣 119

題目連結:


題目意譯:
給定一字串陣列 words,回傳所有 words 中滿足其為另一字串的子字串之字串。你可以按任意順序排列答案。

一子字串為一個字串中連續的字元序列。

限制:
1 ≦ words.length ≦ 100
1 ≦ words[i].length ≦ 30
words[i] 只由小寫英文字母組成。
words 中所有字串皆彼此相異。



範例測資:
範例 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"]
輸出: []
解釋: words 中沒有字串是另一字串的子字串。


解題思維:
窮舉所有索引值對 (i, j)(當然 i 不等於 j),然後看 words[i] 這個字串是不是 words[j] 的子字串。

如果是則將 words[i] 加到答案中,並且對於這個 i 不需檢查其他的 j 值(因為已經在答案中了)。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作