Lors d'une interview pour un poste de développeur Java, on m'a demandé ce qui suit:
Écrivez une fonction qui prend deux paramètres:
- une chaîne représentant un document texte et
- un entier indiquant le nombre d'articles à retourner.
Implémentez la fonction de telle sorte qu'elle retourne une liste de chaînes ordonnées par fréquence de mot, le mot le plus fréquent en premier. Votre solution doit s'exécuter en temps où est le nombre de caractères dans le document.
Ce qui suit est ce que j'ai répondu (en pseudocode), ce n'est pas mais plutôt raison du tri. Je ne peux pas comprendre comment le faire temps.
wordFrequencyMap = new HashMap<String, Integer>();
words = inputString.split(' ');
for (String word : words) {
count = wordFrequencyMap.get(word);
count = (count == null) ? 1 : ++count;
wordFrequencyMap.put(word, count);
}
return wordFrequencyMap.sortByValue.keys
Quelqu'un sait-il ou quelqu'un peut-il me donner des indices?
Hashtable
Java hérité ou non soit vraiment hors de propos pour les besoins de ce site.