Menu
CoddyTech

Word Ladder

Даны два слова: beginWord и endWord, а также список слов wordList. Лестница — это последовательность слов, которая начинается с beginWord, заканчивается на endWord и в которой каждое следующее слово отличается от предыдущего ровно одной буквой. Все слова после beginWord должны содержаться в wordList.

Верните количество слов в кратчайшей лестнице, включая оба конца, или 0, если лестницы не существует. Например, cold, cord, card — это лестница из 3 слов. beginWord не обязательно должно быть в wordList, но endWord должно.

Функция

ladderLength(beginWord: string, endWord: string, wordList: string-array) → integer
beginWordstring
первое слово лестницы
endWordstring
слово the ladder должно быть достигнуто
wordListstring-array
слова, из которых должен состоять каждый последующий шаг
Возвращаетinteger
количество слов в самой короткой цепочке преобразований или 0, если такой цепочки нет

Ограничения

  • 1 ≤ beginWord.length ≤ 10
  • endWord и каждое слово в wordList имеют ту же длину, что и beginWord.
  • 1 ≤ wordList.length ≤ 5000
  • Все слова состоят только из строчных букв английского алфавита.
  • beginWord != endWord
  • Все слова в wordList различны. beginWord может быть среди них, а может и не быть.

Примеры

Ввод
beginWord = "lead"endWord = "gold"wordList = ["load", "goad", "gold", "lend", "lewd", "bold"]
Вывод
4
Пояснение
lead и gold различаются тремя буквами, поэтому в любой цепочке не меньше 4 слов, а цепочка lead, load, goad, gold состоит ровно из 4 слов. lend и lewd тоже отличаются от lead одной буквой, но ни одно из них не ведёт к новым словам, а до bold можно добраться только от самого gold.

lock icon+14 скрытых тестов при отправке

challenge icon

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

Можешь вернуть одну из кратчайших цепочек слов целиком, слова по порядку, а не только её длину?

Сбросить код
def ladderLength(beginWord, endWord, wordList):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Случай 3

Ввод

beginWord = "lead"
endWord = "gold"
wordList = ["load", "goad", "gold", "lend", "lewd", "bold"]

Ожидается

4