题目:
给定字符串s,找到满足条件的出现次数最多的子字符串,返回最大的出现次数。
条件:
子串中不同字母数目<macLetters;
子串的长度大于等于minSize,小于等于maxSize
思路:只需要检查minSize的子串,maxSize的子串包含minSize
var maxFrequ = function(s,maxLetters,minSize,maxSize){
let map = new Map();
let max = 0;
for(let i=0;i<s.length-minSize;i++)[
let sub = s.substring(i,i+minSize);
let diff = new Set(sub);
if(diff.size<=maxLetters){
if(map.get(sub)){
map.get(sub)++;
}
else{
map.set(sub,1);
}
if(map.get(sub)>max){
max = map.get(sub);
}
}
}
return max;
};