Menu
CoddyTech

Alien Dictionary

Lista słów jest uporządkowana według alfabetu, którego nie znasz: 26 małych angielskich liter w pewnej tajnej kolejności. Słowa porównuje się jak zwykle. Decyduje pierwsza pozycja, na której dwa słowa się różnią, a jeśli jedno słowo jest początkiem drugiego, pierwsze jest krótsze.

Zwróć litery występujące w słowach jako jeden ciąg znaków w kolejności alfabetu. Jeśli pasuje kilka kolejności, zwróć tę, która jest pierwsza w zwykłym porządku słownikowym. Jeśli żadna kolejność nie pasuje, zwróć "invalid".

Funkcja

alienOrder(words: string-array) → string
wordsstring-array
słowa posortowane w nieznanym alfabecie
Zwracastring
litery w najmniejszej pasującej kolejności lub "invalid"

Ograniczenia

  • 1 ≤ words.length ≤ 5000
  • 1 ≤ words[i].length ≤ 10
  • Każde słowo zawiera wyłącznie małe litery alfabetu angielskiego.
  • To samo słowo może pojawić się więcej niż raz.

Przykłady

Wejście
words = ["tea", "ten", "ate", "act", "cat"]
Wyjście
"etacn"
Wyjaśnienie
tea przed ten umieszcza a przed n. Pozostałe pary dają t przed a, t przed c i a przed c. Żadna reguła nie wspomina o e, więc najmniejsza kolejność zaczyna się od niego: e, t, a, c, n.
challenge icon

Pytanie dodatkowe

Jak sprawdzisz, czy kolejność dopasowania jest jedyna?

Zresetuj kod
def alienOrder(words):
    # Napisz kod tutaj

Test #1

Test #2

Test #3

Argument

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

Oczekiwany wynik

"etacn"