Skip to content

Commit 387eb21

Browse files
authored
Create Solution.java
1 parent efb0c41 commit 387eb21

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+
class Solution {
2+
public List<Integer> topKFrequent(int[] nums, int k) {
3+
Map<Integer, Integer> map = new HashMap<>();
4+
for (int num : nums) {
5+
map.put(num, map.getOrDefault(num, 0) + 1);
6+
}
7+
List<Integer>[] buckets = new ArrayList[nums.length + 1];
8+
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
9+
int num = entry.getKey();
10+
int count = entry.getValue();
11+
if (buckets[count] == null) {
12+
buckets[count] = new ArrayList<>();
13+
}
14+
buckets[count].add(num);
15+
}
16+
List<Integer> topK = new ArrayList<>(k);
17+
for (int i = buckets.length - 1; i >= 0 && topK.size() < k; --i) {
18+
if (buckets[i] != null) {
19+
topK.addAll(buckets[i]);
20+
}
21+
}
22+
return topK;
23+
}
24+
}

0 commit comments

Comments
 (0)