import java.util.*;
public class Main {
public static List
<String
> topKFrequent
(String[] words,
int k
) { Map
<String, Integer
> frekuensi
= new HashMap
<>(); if (frekuensi.containsKey(w)) {
frekuensi.put(w, frekuensi.get(w) + 1);
} else {
frekuensi.put(w, 1);
}
}
List<String> listKata = new ArrayList<>(frekuensi.keySet());
int fa = frekuensi.get(a);
int fb = frekuensi.get(b);
if (fa == fb) {
return a.compareTo(b);
} else {
return fb - fa;
}
}
});
return listKata.subList(0, k);
}
public static void main
(String[] args
) { String[] words
= {"java",
"python",
"java",
"golang",
"java",
"python"}; int k = 2;
List<String> hasil = topKFrequent(words, k);
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyBMaXN0PFN0cmluZz4gdG9wS0ZyZXF1ZW50KFN0cmluZ1tdIHdvcmRzLCBpbnQgaykgewogICAgICAgIE1hcDxTdHJpbmcsIEludGVnZXI+IGZyZWt1ZW5zaSA9IG5ldyBIYXNoTWFwPD4oKTsKICAgICAgICBmb3IgKFN0cmluZyB3IDogd29yZHMpIHsKICAgICAgICAgICAgaWYgKGZyZWt1ZW5zaS5jb250YWluc0tleSh3KSkgewogICAgICAgICAgICAgICAgZnJla3VlbnNpLnB1dCh3LCBmcmVrdWVuc2kuZ2V0KHcpICsgMSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBmcmVrdWVuc2kucHV0KHcsIDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBMaXN0PFN0cmluZz4gbGlzdEthdGEgPSBuZXcgQXJyYXlMaXN0PD4oZnJla3VlbnNpLmtleVNldCgpKTsKCiAgICAgICAgQ29sbGVjdGlvbnMuc29ydChsaXN0S2F0YSwgbmV3IENvbXBhcmF0b3I8U3RyaW5nPigpIHsKICAgICAgICAgICAgcHVibGljIGludCBjb21wYXJlKFN0cmluZyBhLCBTdHJpbmcgYikgewogICAgICAgICAgICAgICAgaW50IGZhID0gZnJla3VlbnNpLmdldChhKTsKICAgICAgICAgICAgICAgIGludCBmYiA9IGZyZWt1ZW5zaS5nZXQoYik7CgogICAgICAgICAgICAgICAgaWYgKGZhID09IGZiKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEuY29tcGFyZVRvKGIpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmIgLSBmYTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gbGlzdEthdGEuc3ViTGlzdCgwLCBrKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgU3RyaW5nW10gd29yZHMgPSB7ImphdmEiLCAicHl0aG9uIiwgImphdmEiLCAiZ29sYW5nIiwgImphdmEiLCAicHl0aG9uIn07CiAgICAgICAgaW50IGsgPSAyOwoKICAgICAgICBMaXN0PFN0cmluZz4gaGFzaWwgPSB0b3BLRnJlcXVlbnQod29yZHMsIGspOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihoYXNpbCk7CiAgICB9Cn0K