Minimum Window Substring
要求在源字符串s中找到长度最短的子串,这个子串包含目标字符串t中的所有字符,字符顺序没有要求。
注意在找到的子串中可以包含t中没有的字符。
乍一看是滑动窗的问题,如果题目要求是”在s中找到子串t,t中字符顺序无要求”,那么只需要维护一个长度为t的大小的滑动窗遍历s即可,这种做法要求找到的子串长度就是t的长度,且无其他t中没有的字符。
但是难点在本题可以存在t中没有的字符,比如示例中找到的子串是”BANC”,其中”BAC”是t,而’N’不属于t。所以,滑动窗的大小是需要动态变化的。
根据滑动窗的概念,解决问题时需要两个指针begin和end分别指向窗口的左边界和右边界,在向右移动的过程中右边加,左边减,直到满足条件即可。
但是,由于本题的滑动窗大小不固定,所以在向右移动的过程中,只能右边加,而不能左边减。只有当窗口此时覆盖的区域包含t时&#x