LeetCode 76 最小覆盖子串
点此看全部题解 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中)
更多干货,请关注公众号【忍者算法】,回复【刷题清单】获取完整题解目录~
从生活中理解这个问题
想象你是一位珠宝设计师,要用一段项链(可能包含各种宝石)找出最短的一段,这段中必须包含顾客指定的所有种类的宝石。比如顾客要求必须有红宝石、蓝宝石和钻石,你需要找出包含这三种宝石的最短项链片段。
这就是"最小覆盖子串"问题的生活映射:在一个长字符串中找到包含目标字符串所有字符的最短子串。
问题描述
LeetCode第76题是这样描述的:给你一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字符的最小子串。
举个例子:
S = "ADOBECODEBANC"
T = "ABC"
输出: "BANC"
解释:我们要找的子串必须包含A、B和C,而"BANC"是所有满足条件的子串中最短的。
</