Back to all solutions
#347 - Top K Frequent Elements
Problem Description
Given an integer array `nums` and an integer `k`, return the `k` most frequent elements. You may return the answer in any order.
Solution
/**
* @param {number[]} nums
* @param {number} k
* @return {number[]}
*/
var topKFrequent = function(nums, k) {
const map = new Map();
nums.forEach(value => map.set(value, (map.get(value) || 0) + 1));
return [...map]
.sort((a, b) => b[1] - a[1])
.slice(0, k)
.map(([value]) => value)
};