File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change 1+ import java .util .Arrays ;
2+ import java .util .HashMap ;
3+ import java .util .Iterator ;
4+ import java .util .Map ;
5+
6+ class Solution {
7+ public int [] topKFrequent (int [] nums , int k ) {
8+ // ๋ฐฐ์ด์ ์ซ์๊ฐ ๋ช ๋ฒ์ฉ ๋ฑ์ฅํ๋์ง ์ ์ฅ
9+ Map <Integer , Integer > frequencyMap = new HashMap <>();
10+ for (int num : nums ) {
11+ frequencyMap .put (num , frequencyMap .getOrDefault (num , 0 ) + 1 );
12+ }
13+
14+ // Map ํ์์ ๋ฐ์ดํฐ๋ฅผ [์ซ์, ๋น๋] ์ ๋ฐฐ์ด๋ก ๋ณํ
15+ Map .Entry <Integer , Integer >[] arr = new Map .Entry [frequencyMap .size ()];
16+ Iterator <Map .Entry <Integer , Integer >> iterator = frequencyMap .entrySet ().iterator ();
17+ for (int i =0 ; i <arr .length ; i ++) {
18+ arr [i ] = iterator .next ();
19+ }
20+
21+ // ๋น๋ ๊ธฐ์ค ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
22+ Arrays .sort (arr , (e1 , e2 ) -> e2 .getValue () - e1 .getValue ());
23+
24+ // k๊ฐ๋ง ๊บผ๋ด๊ธฐ
25+ int [] answer = new int [k ];
26+ for (int i =0 ; i <k ; i ++) {
27+ answer [i ] = arr [i ].getKey ();
28+ }
29+
30+ return answer ;
31+ }
32+ }
You canโt perform that action at this time.
0 commit comments