Skip to content

Commit 11b4bc5

Browse files
committed
feat: 347. Top K Frequent Elements
1 parent 11e43f8 commit 11b4bc5

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

top-k-frequent-elements/gwbaik9717.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Time complexity: O(nlogn)
2+
// Space complexity: O(n)
3+
4+
/**
5+
* @param {number[]} nums
6+
* @param {number} k
7+
* @return {number[]}
8+
*/
9+
var topKFrequent = function (nums, k) {
10+
const frequencyDict = new Map();
11+
12+
for (const num of nums) {
13+
if (frequencyDict.has(num)) {
14+
frequencyDict.set(num, frequencyDict.get(num) + 1);
15+
} else {
16+
frequencyDict.set(num, 1);
17+
}
18+
}
19+
20+
const entries = [...frequencyDict.entries()];
21+
entries.sort((a, b) => b[1] - a[1]);
22+
23+
return entries.slice(0, k).map((entry) => entry[0]);
24+
};

0 commit comments

Comments
 (0)