Untitled

 avatar
unknown
plain_text
a month ago
1.0 kB
0
Indexable
import java.util.*;

public class Solution {
    public int maxFreq(String s, int maxLetters, int minSize, int maxSize) {
        Map<String, Integer> substringCount = new HashMap<>();
        int maxFrequency = 0;

        for (int i = 0; i <= s.length() - minSize; i++) {
            // Extract substring of length minSize
            String substring = s.substring(i, i + minSize);

            // Check if the substring meets the maxLetters condition
            if (countUniqueCharacters(substring) <= maxLetters) {
                substringCount.put(substring, substringCount.getOrDefault(substring, 0) + 1);
                maxFrequency = Math.max(maxFrequency, substringCount.get(substring));
            }
        }

        return maxFrequency;
    }

    private int countUniqueCharacters(String s) {
        Set<Character> uniqueChars = new HashSet<>();
        for (char c : s.toCharArray()) {
            uniqueChars.add(c);
        }
        return uniqueChars.size();
    }
}
Editor is loading...
Leave a Comment