Menu
CoddyTech

Group Anagrams

Ti viene fornito un elenco di parole strs. Due parole sono anagrammi quando una è una permutazione dell’altra: hanno le stesse lettere, ciascuna usata lo stesso numero di volte. Inserisci ogni parola in un gruppo con tutti i suoi anagrammi e restituisci una stringa per gruppo: le parole del gruppo in ordine alfabetico, separate da singoli spazi. Ordina i gruppi alfabeticamente in base alla prima parola.

Una parola che compare due volte viene elencata due volte nel suo gruppo, mentre una parola senza anagrammi forma un gruppo composto da una sola parola. Per ordine alfabetico si intende l’ordine del dizionario: aab viene prima di ab, e ab prima di abc.

Funzione

groupAnagrams(strs: string-array) → string-array
strsstring-array
le parole da raggruppare, solo lettere minuscole
Restituiscestring-array
una stringa per gruppo: le sue parole ordinate e unite da spazi, gruppi ordinati in base alla loro prima parola

Vincoli

  • 1 ≤ strs.length ≤ 4000
  • 1 ≤ strs[i].length ≤ 8
  • Ogni parola contiene solo lettere minuscole inglesi.

Esempi

Input
strs = ["listen", "stone", "silent", "notes", "enlist", "onset", "tones", "apple"]
Output
["apple", "enlist listen silent", "notes onset stone tones"]
Spiegazione
enlist, listen e silent usano ciascuna una volta le lettere e, i, l, n, s e t. notes, onset, stone e tones condividono le lettere e, n, o, s e t, e apple non corrisponde a nulla. In base alla prima parola, i gruppi sono apple, enlist, notes.

lock icon+15 test nascosti all’invio

challenge icon

Per approfondire

Supponiamo che le parole possano contenere qualsiasi carattere Unicode invece di 26 lettere minuscole. Quale delle due chiavi, le lettere ordinate o il conteggio delle lettere, continua a funzionare e cosa cambieresti?

Ripristina il codice
def groupAnagrams(strs):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

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

Atteso

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