Menu
CoddyTech

Alien Dictionary

Eine Liste von Wörtern ist in einem Alphabet sortiert, das du nicht kennst: den 26 englischen Kleinbuchstaben in einer geheimen Reihenfolge. Wörter werden auf die übliche Weise verglichen. Die erste Stelle, an der sich zwei Wörter unterscheiden, entscheidet darüber, welcher der beiden Buchstaben im Alphabet zuerst kommt. Ist ein Wort der Anfang des anderen, kommt das kürzere Wort zuerst.

Gib die Buchstaben, die in den Wörtern vorkommen, als eine Zeichenfolge in alphabetischer Reihenfolge zurück. Wenn mehrere Reihenfolgen zur Liste passen, gib diejenige zurück, die in der gewöhnlichen Wörterbuchreihenfolge zuerst kommt. Wenn keine Reihenfolge passt, gib "invalid" zurück.

Funktion

alienOrder(words: string-array) → string
wordsstring-array
die Wörter, sortiert nach dem unbekannten Alphabet
Gibt zurückstring
die Buchstaben in der kleinsten passenden Reihenfolge oder „invalid“

Einschränkungen

  • 1 ≤ words.length ≤ 5000
  • 1 ≤ words[i].length ≤ 10
  • Jedes Wort enthält ausschließlich englische Kleinbuchstaben.
  • Dasselbe Wort kann mehr als einmal vorkommen.

Beispiele

Eingabe
words = ["tea", "ten", "ate", "act", "cat"]
Ausgabe
"etacn"
Erklärung
tea und ten unterscheiden sich zuerst bei a und n, also kommt a vor n. Die anderen Paare ergeben t vor a, t vor c und a vor c. Keine Regel erwähnt e, daher setzt die kleinste Reihenfolge e an den Anfang, dann t, dann a, dann c und n, die beide zu diesem Zeitpunkt frei sind, wobei c zuerst kommt.

lock icon+20 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Woran würdest du erkennen, ob die Anpassungsreihenfolge die einzige ist?

Code zurücksetzen
def alienOrder(words):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

words = ["tea", "ten", "ate", "act", "cat"]

Erwartet

"etacn"