# 力扣76. 最小覆盖子串


## 力扣76. Minimum Window Substring（最小覆盖子串）

给你一个字符串 s 和一个字符串 t。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串，则返回空字符串 ""。对于 t 中重复字符，子串中该字符数量必须不少于 t 中该字符数量。

示例 1：

![](../posts/01_学习/87_LeetCode/0076_最小覆盖子串/img/0076-1-description.png)

```
输入：s = "ADOBECODEBANC", t = "ABC"
输出："BANC"
解释：...
```

示例 2：

```
输入：s = "a", t = "a"
输出："a"
```

示例 3：

```
输入：s = "a", t = "aa"
输出：""
解释：t 中两个字符 'a' 均应包含在子串中，因此没有符合条件的子串，返回空字符串。
```

提示：
- m == s.length, n == t.length
- 1 <= m, n <= 10^5
- s 和 t 由英文字母组成

进阶：你能设计一个在 O(m+n) 时间内解决此问题的算法吗？

