frontend-challenges icon indicating copy to clipboard operation
frontend-challenges copied to clipboard

194 - Top K Frequent Elements - typescript

Open jsartisan opened this issue 11 months ago • 0 comments

index.ts

export function topKFrequent(nums: number[], k: number): number[] {
  const frequencyMap = new Map<number, number>();

  nums.map((num) => {
    const count = frequencyMap.has(num) ? frequencyMap.get(num) : 0;
    frequencyMap.set(num, (count ?? 0) + 1);
  });

  const uniqueNums = Array.from(frequencyMap.keys());

  return uniqueNums
    .sort((a, b) => {
      return (frequencyMap.get(b) ?? 0) - (frequencyMap.get(a) ?? 0);
    })
    .slice(0, k);
}

jsartisan avatar Dec 16 '24 14:12 jsartisan