frequencce
unknown
java
a year ago
928 B
5
Indexable
import java.util.*;
class Solution {
public String frequencySort(String s) {
HashMap<Character, Integer> fmap = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
fmap.put(ch, fmap.getOrDefault(ch, 0) + 1);
}
ArrayList<Character> keys = new ArrayList<>(fmap.keySet());
PriorityQueue<Character> pq = new PriorityQueue<>((Character t, Character o) -> {
return fmap.get(o) - fmap.get(t);
});
for (int i = 0; i < keys.size(); i++) {
pq.add(keys.get(i));
}
StringBuilder sb = new StringBuilder();
while (pq.size() > 0) {
char ch = pq.remove();
int fre = fmap.get(ch);
while (fre > 0) {
sb.append(ch);
fre--;
}
}
return sb.toString();
}
}
Editor is loading...
Leave a Comment