100251. 陣列中的最短非公共子字串
- 透過的使用者數684
- 嘗試過的使用者數891
- 使用者總透過次數696
- 使用者總提交次數1416
- 題目難度Medium
給你一個陣列 arr
,陣列中有 n
個 非空 字串。
請你求出一個長度為 n
的字串 answer
,滿足:
answer[i]
是arr[i]
最短 的子字串,且它不是arr
中其他任何字串的子字串。如果有多個這樣的子字串存在,answer[i]
應該是它們中字典序最小的一個。如果不存在這樣的子字串,answer[i]
為空字串。
請你返回陣列 answer
。
示例 1:
輸入:arr = ["cab","ad","bad","c"] 輸出:["ab","","ba",""] 解釋:求解過程如下: - 對於字串 "cab" ,最短沒有在其他字串中出現過的子字串是 "ca" 或者 "ab" ,我們選擇字典序更小的子字串,也就是 "ab" 。 - 對於字串 "ad" ,不存在沒有在其他字串中出現過的子字串。 - 對於字串 "bad" ,最短沒有在其他字串中出現過的子字串是 "ba" 。 - 對於字串 "c" ,不存在沒有在其他字串中出現過的子字串。
示例 2:
輸入:arr = ["abc","bcd","abcd"] 輸出:["","","abcd"] 解釋:求解過程如下: - 對於字串 "abc" ,不存在沒有在其他字串中出現過的子字串。 - 對於字串 "bcd" ,不存在沒有在其他字串中出現過的子字串。 - 對於字串 "abcd" ,最短沒有在其他字串中出現過的子字串是 "abcd" 。
提示:
n == arr.length
2 <= n <= 100
1 <= arr[i].length <= 20
arr[i]
只包含小寫英文字母。