文章目錄
- 前言
- 一、串聯所有單詞的子串
- ? ? ? 1.1 題目描述
- ? ? ? 1.2 題目解析
- ? ? ? ? ? ?1.2.1 算法原理
- ? ? ? ? ? ?1.2.2 代碼編寫
- ? ? ? ? ? ?1.2.3?題目總結
- 二、最小覆蓋子串
- ? ? ? 2.1 題目描述
- ? ? ? 2.2 題目解析
- ? ? ? ? ? ?2.2.1 算法原理
- ? ? ? ? ? ?2.2.2 代碼編寫
- ? ? ? ? ? ?2.2.3?題目總結
- 總結
前言
一、串聯所有單詞的子串
1.1 題目描述
描述:
給定一個字符串?
s
?和一個字符串數組?words
。?words
?中所有字符串?長度相同。?
s
?中的?串聯子串?是指一個包含??words
?中所有字符串以任意順序排列連接起來的子串。
- 例如,如果?
words = ["ab","cd","ef"]
, 那么?"abcdef"
,?"abefcd"
,"cdabef"
,?"cdefab"
,"efabcd"
, 和?"efcdab"
?都是串聯子串。?"acdbef"
?不是串聯子串,因為他不是任何?words
?排列的連接。返回所有串聯子串在?
s
?中的開始索引。你可以以?任意順序?返回答案。
提示:
1 <= s.length <= 10^4
1 <= words.length <= 5000
1 <= words[i].length <= 30
words[i]
?和?s
?由小寫英文字母組成
示例2:
示例3:
1.2 題目解析
1.2.1 算法原理
1.2.2 代碼編寫
1.3 題目總結
二、最小覆蓋子串
2.1 題目描述
描述:
給你一個字符串?
s
?、一個字符串?t
?。返回?s
?中涵蓋?t
?所有字符的最小子串。如果?s
?中不存在涵蓋?t
?所有字符的子串,則返回空字符串?""
?。
注意:
- 對于?
t
?中重復字符,我們尋找的子字符串中該字符數量必須不少于?t
?中該字符數量。- 如果?
s
?中存在這樣的子串,我們保證它是唯一的答案。
示例1:
示例2:
示例3: