Sort Array by Increasing Frequency
EasyArrayHash TableSorting
Solution
export function frequencySort(nums: number[]): number[] {
const freqs = new Map<number, number>();
nums.forEach((num) => {
freqs.set(num, (freqs.get(num) ?? 0) + 1);
});
return nums.sort((a, b) => {
const freqA = freqs.get(a) ?? 0;
const freqB = freqs.get(b) ?? 0;
return freqA === freqB ? b - a : freqA - freqB;
});
}