Find K-Length Substrings With No Repeated Characters
给一个String和一个整数k, 返回k长度的没有重复字符的substring.
这题就是先找所有的没有重复字符substring, 然后看长度是不是k.
class Solution {
public:
int numKLenSubstrNoRepeats(string S, int K) {
int res = 0;
unordered_map<char, int> map;
for(int i = 0; i < S.size(); i++) {
if(i < K){// find all substring with non-repeacted chars
map[S[i]]++;
}else{
map[S[i]]++;
map[S[i-K]]--;
if(map[S[i-K]] == 0)
map.erase(S[i-K]);
}
if(map.size() == K) // substring length == K
res++;
}
return res;
}
};