Posts

451. Sort Characters By Frequency (leetcode)

class Solution { public String frequencySort(String s) { HashMap<Character, Integer> feqCounter = new HashMap<>(); // this loop gives count of character with count of character // ex: {r=1, t=1, e=2} for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (feqCounter.containsKey(c)) { feqCounter.put(c, feqCounter.get(c) + 1); } else { feqCounter.put(c, 1); } } return strngGenrtr(feqCounter); } public String strngGenrtr(HashMap<Character, Integer> feqCounter) { StringBuilder br = new StringBuilder(); while (!feqCounter.isEmpty()) { char maximun = getMax(feqCounter); int count = feqCounter.get(maximun); for (int i = 0; i < count; i++) { br.append(maximun); } feqCounter.remove(maximun); } return br.toString(); } public char getMax(HashMap<Character, Integer> feqCounter) { int max = 0; char key = '0'; for (Map.Entry<Character, Integer> entry : feqCounter.