76. 最小覆盖子串s
初始化和特判
//本题做题思想
//从头开始,首先找到一个包含所有字母的字串,将i移动到包含字串字母的位置,然后更新长度和字符串ans后,
//i的位置加1,j的位置也加1,从新开始上面的流程,找一个包含所有字符串t字母的子串
unordered_map<char,int>need;//need记录下来每个字母‘需要’多少,为正数
//对于不需要的字母和本来需要但超出数量的字母,依旧记录,但减1后变负数
int cnt = 0;//cnt记录总共需要多少个
int ansnum = 100010;//ans记录最短的字符子串,ansnum维护最小的长度
string ans = "";
if(s.size() < t.size() ) return ans;
if(s == t) return s;
统计字符数
for(int i = 0; i < t.size();i++){
need[t[i]]++;
}
cnt = t.size();