fork download
  1. import java.util.*;
  2.  
  3. public class Main {
  4. public static List<String> topKFrequent(String[] words, int k) {
  5. Map<String, Integer> frekuensi = new HashMap<>();
  6. for (String w : words) {
  7. if (frekuensi.containsKey(w)) {
  8. frekuensi.put(w, frekuensi.get(w) + 1);
  9. } else {
  10. frekuensi.put(w, 1);
  11. }
  12. }
  13.  
  14. List<String> listKata = new ArrayList<>(frekuensi.keySet());
  15.  
  16. Collections.sort(listKata, new Comparator<String>() {
  17. public int compare(String a, String b) {
  18. int fa = frekuensi.get(a);
  19. int fb = frekuensi.get(b);
  20.  
  21. if (fa == fb) {
  22. return a.compareTo(b);
  23. } else {
  24. return fb - fa;
  25. }
  26. }
  27. });
  28.  
  29. return listKata.subList(0, k);
  30. }
  31.  
  32. public static void main(String[] args) {
  33. String[] words = {"java", "python", "java", "golang", "java", "python"};
  34. int k = 2;
  35.  
  36. List<String> hasil = topKFrequent(words, k);
  37. System.out.println(hasil);
  38. }
  39. }
  40.  
Success #stdin #stdout 0.08s 54760KB
stdin
Standard input is empty
stdout
[java, python]