Menu
CoddyTech

Group Anagrams

MoyenHachageTripython iconjava iconcpp iconc iconjs icon+10

Vous obtenez une liste de mots strs. Deux mots sont des anagrammes lorsque l’un est une réorganisation de l’autre : les mêmes lettres, chacune utilisée le même nombre de fois. Regroupez chaque mot avec tous ses anagrammes, puis renvoyez une chaîne par groupe : les mots du groupe par ordre alphabétique, séparés par un seul espace. Triez les groupes par ordre alphabétique selon leur premier mot.

Un mot qui apparaît deux fois figure deux fois dans son groupe, et un mot sans anagramme forme un groupe à lui seul. L’ordre alphabétique correspond à l’ordre du dictionnaire : aab vient avant ab, et ab avant abc.

Fonction

groupAnagrams(strs: string-array) → string-array
strsstring-array
les mots à regrouper, uniquement des lettres minuscules
Renvoiestring-array
une chaîne par groupe : ses mots triés et reliés par des espaces, les groupes étant ordonnés selon leur premier mot

Contraintes

  • 1 ≤ strs.length ≤ 4000
  • 1 ≤ strs[i].length ≤ 8
  • Chaque mot ne contient que des lettres minuscules anglaises.

Exemples

Entrée
strs = ["listen", "stone", "silent", "notes", "enlist", "onset", "tones", "apple"]
Sortie
["apple", "enlist listen silent", "notes onset stone tones"]
Explication
enlist, listen et silent utilisent chacun une fois les lettres e, i, l, n, s et t. notes, onset, stone et tones partagent les lettres e, n, o, s et t, et apple ne correspond à rien. En triant par premier mot, les groupes sont apple, enlist, notes.

lock icon+15 tests cachés à la soumission

challenge icon

Pour aller plus loin

Supposons que les mots puissent contenir n’importe quels caractères Unicode au lieu de 26 lettres minuscules. Laquelle des deux clés, les lettres triées ou le nombre de lettres, fonctionne toujours, et qu’y changeriez-vous ?

Réinitialiser le code
def groupAnagrams(strs):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

strs = ["listen", "stone", "silent", "notes", "enlist", "onset", "tones", "apple"]

Attendu

["apple", "enlist listen silent", "notes onset stone tones"]