Skip to content

Commit b9f9cb5

Browse files
committed
Top K Frequent Elements
1 parent 3848180 commit b9f9cb5

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
function topKFrequent(nums: number[], k: number): number[] {
2+
const numsMap = new Map<number, number>();
3+
for (let i = 0; i < nums.length; i++) {
4+
if (numsMap.has(nums[i])) {
5+
numsMap.set(nums[i], (numsMap.get(nums[i]) ?? 0) + 1);
6+
} else {
7+
numsMap.set(nums[i], 1);
8+
}
9+
}
10+
const sortedNums = Array.from(numsMap).sort(([_a, a], [_b, b]) => b - a);
11+
const results: number[] = [];
12+
for (let j = 0; j < sortedNums.length && results.length < k; j++) {
13+
results.push(sortedNums[j][0]);
14+
}
15+
return results;
16+
}

0 commit comments

Comments
 (0)