File tree Expand file tree Collapse file tree 1 file changed +12
-12
lines changed Expand file tree Collapse file tree 1 file changed +12
-12
lines changed Original file line number Diff line number Diff line change 1
- import java .util .HashMap ;
2
- import java .util .Map ;
3
- import java .util .Map .Entry ;
4
- import java .util .PriorityQueue ;
5
-
6
1
class Solution {
7
2
public int [] topKFrequent (int [] nums , int k ) {
8
3
int [] answer = new int [k ];
9
- Map <Integer , Integer > frequent = new HashMap <>();
4
+ Map <Integer , Integer > count = new HashMap <>();
10
5
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 );
13
8
}
14
9
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
+ }
17
15
18
16
for (int i = 0 ; i < k ; i ++) {
19
- answer [i ] = pq .poll ().getKey ();
17
+ int [] num = queue .poll ();
18
+
19
+ answer [i ] = num [0 ];
20
20
}
21
21
22
22
return answer ;
23
23
}
24
- }
24
+ }
You can’t perform that action at this time.
0 commit comments