Maximum Number of Occurrences of a Substring

给一个字符串s, 返回满足条件的substring的最高频率. 这个题问频率, 所以就是counting. 这里不用关心maxsize这个argument.

class Solution {
    public int maxFreq(String s, int maxLetters, int minSize, int maxSize) {
        Map<String, Integer> map = new HashMap<>();
        int max = 0;
        for(int i = 0; i + minSize <= s.length(); i++) {
            String str = s.substring(i, i + minSize);
            Set<Character> set = new HashSet<>();
            for(char c : str.toCharArray()) {
                set.add(c);
            }
            if(set.size() <= maxLetters) {
                int n = map.getOrDefault(str, 0) + 1;
                max = Math.max(max, n);
                map.put(str, n);
            }
        }
        return max;
    }
}