题意理解
给定一个字符串T,问在另一个字符串S中包含这个字符串的字符的最小长度子字符串。字符顺序可以颠倒
问题分析
滑动窗口 + hashtable做 (双指针法)
其他
比较字符串是否包含,可以用hashmap或字典(每个字符占一个元素位置),字典的速度比map要快
我的方法耗时太长,这里有O(n)的算法。慢慢看。
看完了。几个优化点
一次循环中,同时处理扩展右下标和缩小左下标。
两个map的比较,我是直接找到了全部的t字符再比较,这个方法是逐步删除了左边不满足的字符来比较。搜索的范围小了很多。
不用把所有合适的都保存下来,再从中找最小的那个,而是每次找到一个新字符串,就更新最小的字符串。
每次都是把字符串取下来,再传入函数和t的map比较,