LeetCode 力扣 76. 最小覆盖子串
题目描述(困难难度) 给两个字符串,S 和 T,在 S 中找出包含 T 中所有字母的最短字符串,不考虑顺序。 解法一 滑动窗口 没有想出来,直接看来了 题解 ,这里总结一下。 用双指针 left 和 right 表示一个窗口。 right 向右移增大窗口,直到窗口包含了所有要求的字母。进行第二步。 记录此时的长度,left 向右移动,开始减少长度,每减少一次,就更新最小长度。直到当前窗口不包含所有字母,回到第 1 步。 S = "ADOBECODEBANC" , T = "ABC" A D O B E C O D E B A N C //l 和 r 初始化为 0 ^ l r A D O B E C O D E B A N C //向后移动 r,扩大窗口 ^ ^ l r A D O B E C O D E B A N C //向后移动 r,扩大窗口 ^ ^ l r A D O B E C O D E B A N C //向后移动 r,扩大窗口 ^ ^ l r A D O B E C O D E B A N C //向后移动 r,扩大窗口 ^ ^ l r //此时窗口中包含了所有字母(ABC),停止移动 r,记录此时的 l 和 r,然后开始移动 l A D O B E C O D E B A N C ^ ^ l r //向后移动 l,减小窗口,此时窗口中没有包含所有字母(ABC)