最小覆盖子串
方法:滑动窗口
算法
初始,
left指针和right指针都指向s的第一个元素.将
right指针右移,扩张窗口,直到得到一个可行窗口,亦即包含t的全部字母的窗口。得到可行的窗口后,将
left指针逐个右移,若得到的窗口依然可行,则更新最小窗口大小。若窗口不再可行,则跳转至 2。
代码
1 | from collections import defaultdict |
复杂度
初始,left指针和right指针都指向s的第一个元素.
将
right指针右移,扩张窗口,直到得到一个可行窗口,亦即包含t的全部字母的窗口。
得到可行的窗口后,将left指针逐个右移,若得到的窗口依然可行,则更新最小窗口大小。
若窗口不再可行,则跳转至 2。
1 | from collections import defaultdict |