Skip to content

Commit 942bfa7

Browse files
committed
top k frequent elements solution
1 parent 668c07b commit 942bfa7

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
function topKFrequent(nums: number[], k: number): number[] {
2+
nums.sort((a, b) => a - b);
3+
4+
const countMap = new Map<number, number>();
5+
6+
let pointer = 0;
7+
while (pointer < nums.length) {
8+
const currentNumber = nums[pointer];
9+
let count = 0;
10+
11+
while (nums[pointer] === currentNumber) {
12+
pointer++;
13+
count++;
14+
}
15+
16+
countMap.set(currentNumber, count);
17+
}
18+
19+
const result = Array.from(countMap)
20+
.sort((a, b) => b[1] - a[1])
21+
.slice(0, k)
22+
.map((value) => value[0]);
23+
24+
return result;
25+
}

0 commit comments

Comments
 (0)