Untitled
unknown
plain_text
9 months ago
1.0 kB
4
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