文章目录
- 前言
- 一、串联所有单词的子串
- 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^41 <= words.length <= 50001 <= words[i].length <= 30words[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:
2.2 题目解析
2.2.1 算法原理
2.2.2 代码编写
2.2.3 题目总结
总结







