Skip to content

Commit 9a24a1f

Browse files
committed
top frequent elements solved
1 parent 95bdea2 commit 9a24a1f

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

top-k-frequent-elements/mintheon.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
import java.util.HashMap;
2-
import java.util.Map;
3-
import java.util.Map.Entry;
4-
import java.util.PriorityQueue;
5-
61
class Solution {
72
public int[] topKFrequent(int[] nums, int k) {
83
int[] answer = new int[k];
9-
Map<Integer, Integer> frequent = new HashMap<>();
4+
Map<Integer, Integer> count = new HashMap<>();
105

11-
for(int num: nums) {
12-
frequent.put(num, frequent.getOrDefault(num, 1) + 1);
6+
for(int i = 0; i < nums.length; i++) {
7+
count.put(nums[i], count.getOrDefault(nums[i], 0) + 1);
138
}
149

15-
PriorityQueue<Entry<Integer, Integer>> pq = new PriorityQueue<>((a, b) -> b.getValue().compareTo(a.getValue()));
16-
pq.addAll(frequent.entrySet());
10+
PriorityQueue<int[]> queue = new PriorityQueue<>((a, b) -> b[1] - a[1]);
11+
12+
for(int key : count.keySet()) {
13+
queue.offer(new int[]{key, count.get(key)});
14+
}
1715

1816
for(int i = 0; i < k; i++) {
19-
answer[i] = pq.poll().getKey();
17+
int[] num = queue.poll();
18+
19+
answer[i] = num[0];
2020
}
2121

2222
return answer;
2323
}
24-
}
24+
}

0 commit comments

Comments
 (0)