Skip to content

Latest commit

 

History

History
30 lines (24 loc) · 685 Bytes

File metadata and controls

30 lines (24 loc) · 685 Bytes

Screen Shot 2022-08-09 at 12 56 49

/**
 * @param {number[]} nums
 * @param {number} k
 * @return {number[]}
 */
var topKFrequent = function(nums, k) {
    let map = new Map();
    let stack = [];

    for(let num of nums) {
        if(map.has(num)) {
            map.set(num, map.get(num) + 1);
        } else {
            map.set(num, 1)
        }
    }

    let sortedMap = new Map([...map.entries()].sort((a, b) => b[1] - a[1]));

    for(let [key, value] of sortedMap) {
        stack.push(key);
    }

    return stack.slice(0, k);
};