import java.util.*;
public class Main {
public static void main(String[] args) {
String[] words = {"apple", "banana", "cherry", "apple", "banana", "apple"};
int k = 2;
String[] topKWords = getTopKWords(words, k);
System.out.println(Arrays.toString(topKWords));
}
public static String[] getTopKWords(String[] words, int k) {
Map<;String, Integer> wordCountMap = new HashMap<;>();
for (String word : words) {
wordCountMap.put(word, wordCountMap.getOrDefault(word, 0) + 1);
}
PriorityQueue<;Map.Entry<;String, Integer>> maxHeap = new PriorityQueue<;>((a, b) -> b.getValue() - a.getValue());
maxHeap.addAll(wordCountMap.entrySet());
String[] topKWords = new String[k];
for (int i = 0; i <; k; i++) {
topKWords[i] = maxHeap.poll().getKey();
}
return topKWords;
}
}