使用滑动窗口的方法可以解决的一些问题的汇总。
问题1:最小覆盖子串
给你一个字符串 $S$、一个字符串 $T$,请在字符串 $S$ 里面找出:包含 $T$ 所有字母的最小子串。
示例:
1 |
|
说明:
- 如果 S 中不存这样的子串,则返回空字符串 ““。
- 如果 S 中存在这样的子串,我们保证它是唯一的答案。
题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/minimum-window-substring 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法
1 |
|
问题2:无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
1 |
|
示例 2:
1 |
|
示例 3:
1 |
|
题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法
1 |
|
问题3:串联所有单词的子串
给定一个字符串 $s$ 和一些长度相同的单词 words。找出 $s$ 中恰好可以由 words 中所有单词串联形成的子串的起始位置。
注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。
示例 1:
1 |
|
示例 2:
1 |
|
题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/substring-with-concatenation-of-all-words 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法
1 |
|
问题4:找到字符串中所有字母异位词
给定一个字符串 $s$ 和一个非空字符串 $p$,找到 $s$ 中所有是 $p$ 的字母异位词的子串,返回这些子串的起始索引。
字符串只包含小写英文字母,并且字符串 $s$ 和 $p$ 的长度都不超过 20100。
说明:
- 字母异位词指字母相同,但排列不同的字符串。
- 不考虑答案输出的顺序。
示例 1:
1 |
|
示例 2:
1 |
|
题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法
1 |
|