题目链接
https://leetcode-cn.com/problems/minimum-window-substring/submissions/
解题思路
大佬讲解
思路不难理解,真正难的是实现和代码理解。
AC代码
class Solution {
public:
string minWindow(string s, string t) {
string ans;
map<char,int> ttt;
int n=s.size(),m=t.si***len=0x3f3f3f3f,cnt=0;
s='.'+s;t='.'+t;
for(int k=1;k<=m;k++) ++ttt[t[k]];
int i=1;
for(int j=1;j<=n;j++){
if(--ttt[s[j]]>=0) ++cnt;//核心
while(cnt==m){
if(j-i+1<minlen){
minlen=j-i+1;
ans=s.substr(i,minlen);
}
if(++ttt[s[i]]>0) --cnt;//核心
++i;
}
}
return ans;
}
};
京公网安备 11010502036488号