2
public String frequencySort(String s) {4
HashMap<Integer, HashSet<Character>> map = new HashMap();5
HashMap<Character, Integer> freqMap = new HashMap();7
for (int idx = 0; idx < len; idx++) {8
char ch = s.charAt(idx);9
freqMap.put(ch, freqMap.getOrDefault(ch, 0) + 1);12
int maxFreq = 0, minFreq = s.length();14
for (char ch : freqMap.keySet()) {15
HashSet<Character> set = map.getOrDefault(freqMap.get(ch), new HashSet());17
map.put(freqMap.get(ch), set);18
maxFreq = Math.max(maxFreq, freqMap.get(ch));19
minFreq = Math.min(minFreq, freqMap.get(ch));22
StringBuilder ansStr = new StringBuilder();24
for (int freq = maxFreq; freq >= minFreq; freq--) {25
if (map.containsKey(freq)) {26
HashSet<Character> set = map.get(freq);37
return ansStr.toString();