/**
* @param {string[]} words
* @param {number} k
* @return {string[]}
*/
const topKFrequent = (words, k) => {
const wordFreq = {};
for (const word of words) {
if (word in wordFreq) {
wordFreq[word]++;
} else {
wordFreq[word] = 0;
}
}
return [...new Set(words)].sort((a, b) => {
if (wordFreq[a] === wordFreq[b]) {
return a.localeCompare(b);
} else {
return wordFreq[b] - wordFreq[a];
}
}).slice(0, k);
}; Categories