Menu
CoddyTech

Alien Dictionary

Список слов отсортирован по алфавиту, порядок букв в котором вам неизвестен: 26 строчных английских букв расположены в некотором тайном порядке. Слова сравниваются обычным образом. Решает первая позиция, в которой два слова различаются, а если одно слово является началом другого, первым идёт более короткое слово.

Верните буквы, которые встречаются в словах, одной строкой в алфавитном порядке. Если подходят несколько порядков, верните тот, который идёт первым в обычном словарном порядке. Если ни один порядок не подходит, верните "invalid".

Функция

alienOrder(words: string-array) → string
wordsstring-array
слова, отсортированные в неизвестном алфавите
Возвращаетstring
буквы в порядке от меньшего к большему, который подходит, или «недопустимо»

Ограничения

  • 1 ≤ words.length ≤ 5000
  • 1 ≤ words[i].length ≤ 10
  • Каждое слово содержит только строчные английские буквы.
  • Одно и то же слово может встречаться несколько раз.

Примеры

Ввод
words = ["tea", "ten", "ate", "act", "cat"]
Вывод
"etacn"
Пояснение
tea перед ten ставит a перед n. В остальных парах t стоит перед a, t перед c, а a перед c. Ни одно правило не упоминает e, поэтому самый короткий порядок начинается с него: e, t, a, c, n.
challenge icon

Дополнительный вопрос

Как определить, является ли порядок подгонки единственным?

Сбросить код
def alienOrder(words):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргумент

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

Ожидаемый вывод

"etacn"