Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Top K Frequent Elements #19

Open
Open
@cheatsheet1999

Description

@cheatsheet1999

Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order.

Screen Shot 2021-09-07 at 6 43 26 PM

var topKFrequent = function(nums, k) {
    const map = new Map();
    const res = [];
    const freqArr = [];
    
    for(let num of nums) {
        map.set(num, (map.get(num) || 0) + 1);
    }
    
    for(let [num, freq] of map) {
        freqArr[freq] = (freqArr[freq] || new Set()).add(num);
    }
    
    for(let i = freqArr.length - 1; i >= 0; i--) {
        // if(freqArr[I]) is necessary because not all index has element attached to it
        if(freqArr[i]) res.push(...freqArr[i]);
        if(res.length === k) break;
    }
    return res;
};

Time complexity : O(n)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions