File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
solution/0347.Top K Frequent Elements Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments