Menu
CoddyTech

Group Anagrams

Du erhältst eine Liste von Wörtern strs. Zwei Wörter sind Anagramme, wenn das eine eine Umstellung des anderen ist: dieselben Buchstaben, die jeweils gleich oft verwendet werden. Ordne jedes Wort einer Gruppe mit all seinen Anagrammen zu und gib für jede Gruppe einen String zurück: die Wörter der Gruppe in alphabetischer Reihenfolge, durch einzelne Leerzeichen getrennt. Sortiere die Gruppen alphabetisch nach ihrem jeweils ersten Wort.

Ein Wort, das zweimal vorkommt, wird in seiner Gruppe zweimal aufgeführt, und ein Wort ohne Anagramm bildet eine Gruppe für sich. Alphabetisch bedeutet Wörterbuchreihenfolge: aab kommt vor ab und ab vor abc.

Funktion

groupAnagrams(strs: string-array) → string-array
strsstring-array
die zu gruppierenden Wörter, nur Kleinbuchstaben
Gibt zurückstring-array
eine Zeichenfolge pro Gruppe: ihre Wörter sortiert und durch Leerzeichen verbunden, Gruppen nach ihrem ersten Wort geordnet

Einschränkungen

  • 1 ≤ strs.length ≤ 4000
  • 1 ≤ strs[i].length ≤ 8
  • Jedes Wort besteht ausschließlich aus englischen Kleinbuchstaben.

Beispiele

Eingabe
strs = ["listen", "stone", "silent", "notes", "enlist", "onset", "tones", "apple"]
Ausgabe
["apple", "enlist listen silent", "notes onset stone tones"]
Erklärung
enlist, listen und silent verwenden jeweils e, i, l, n, s und t genau einmal. notes, onset, stone und tones haben e, n, o, s und t gemeinsam, und apple passt zu nichts. Nach dem ersten Wort geordnet lauten die Gruppen apple, enlist, notes.

lock icon+15 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Angenommen, die Wörter könnten beliebige Unicode-Zeichen statt 26 Kleinbuchstaben enthalten. Welche der beiden Schlüssel, sortierte Buchstaben oder Buchstabenzählungen, funktioniert weiterhin, und was würdest du daran ändern?

Code zurücksetzen
def groupAnagrams(strs):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

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

Erwartet

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