Skip to content

Commit ff5969e

Browse files
committed
top-k-frequent-elements solution
1 parent 308bb83 commit ff5969e

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import java.util.HashMap;
2+
import java.util.Map;
3+
import java.util.Map.Entry;
4+
import java.util.PriorityQueue;
5+
6+
class Solution {
7+
public int[] topKFrequent(int[] nums, int k) {
8+
int[] answer = new int[k];
9+
Map<Integer, Integer> frequent = new HashMap<>();
10+
11+
for(int num: nums) {
12+
frequent.put(num, frequent.getOrDefault(num, 1) + 1);
13+
}
14+
15+
PriorityQueue<Entry<Integer, Integer>> pq = new PriorityQueue<>((a, b) -> b.getValue().compareTo(a.getValue()));
16+
pq.addAll(frequent.entrySet());
17+
18+
for(int i = 0; i < k; i++) {
19+
answer[i] = pq.poll().getKey();
20+
}
21+
22+
return answer;
23+
}
24+
}

0 commit comments

Comments
 (0)