76. 最小覆盖子串
难度:困难
2020/5/23每日一题打卡√
类似用滑动窗口来写的题目:567,438,3,
题目描述
解题思路
好久不见的困难题,当然是抄题解的一天
有个坑,虽然我没遇到,但是很多人都提到了,还是写在前面学习学习:
有些人维护了两个哈希表,然后用==判断对应的值是不是相等,但是这样没办法通过最后一个很长的用例,原因是:
1、滑动窗口加哈希表
看到一个滑动窗口的模板,抄过来学习学习
参考题解:我写了一首诗,把滑动窗口算法变成了默写题
/* 滑动窗口算法框架 */
void slidingWindow(string s, string t) {
unordered_map<char, int> need, window;
for (char c : t) need[c]++;
int left = 0, right = 0;
int valid = 0;
while (right < s.size()) {
// c 是将移入窗口的字符
char c = s[right];
// 右移窗口
right++;
// 进行窗口内数据的一系列更新
...
/*** debug 输出的位置 ***/
printf("window: [%d, %d)\n", left, right);
/********************/
// 判断左侧窗口是否要收缩
while (window needs shrink) {
// d 是将移出窗口的字符
char d = s[left];
// 左移窗口
left++;
// 进行窗口内数据的一系列更新
...
}
}
}
作者:labuladong
链接:https://leetcode-cn.com/problems/minimum