题目链接
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; } };