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 wie üblich verglichen. Die erste Stelle, an der sich zwei Wörter unterscheiden, entscheidet, und wenn ein Wort der Anfang des anderen ist, 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 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 „ungültig“

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 vor ten setzt ein a vor ein n. Die anderen Paare ergeben t vor a, t vor c und a vor c. Keine Regel erwähnt e, also beginnt die kleinste Reihenfolge damit: e, t, a, c, n.
challenge icon

Weiterführende Frage

Wie würdest du feststellen, ob die Reihenfolge der Anpassung die einzige ist?

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

Test #1

Test #2

Test #3

Argument

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

Erwartete Ausgabe

"etacn"