Menu
CoddyTech

Word Ladder

TrudneGrafyKolejkapython iconjava iconcpp iconc iconjs icon+10

Otrzymujesz dwa słowa: beginWord i endWord, oraz listę słów wordList. Drabinka to sekwencja słów, która zaczyna się od beginWord, kończy na endWord i zmienia dokładnie jedną literę z każdego słowa na następne. Każde słowo po beginWord musi pochodzić z wordList.

Zwróć liczbę słów w najkrótszej drabince, licząc oba końce, lub 0, jeśli taka drabinka nie istnieje. Na przykład cold, cord, card to drabinka składająca się z 3 słów. beginWord nie musi znajdować się w wordList, ale endWord musi.

Funkcja

ladderLength(beginWord: string, endWord: string, wordList: string-array) → integer
beginWordstring
pierwsze słowo drabinki
endWordstring
słowo the ladder musi dosięgnąć
wordListstring-array
słowa, spośród których trzeba wybierać na każdym kolejnym kroku
Zwracainteger
liczba słów w najkrótszym łańcuchu lub 0, jeśli taki nie istnieje

Ograniczenia

  • 1 ≤ beginWord.length ≤ 10
  • endWord oraz każde słowo z wordList mają taką samą długość jak beginWord.
  • 1 ≤ wordList.length ≤ 5000
  • Wszystkie słowa zawierają wyłącznie małe litery alfabetu angielskiego.
  • beginWord != endWord
  • Słowa w wordList są różne. beginWord może, ale nie musi być jednym z nich.

Przykłady

Wejście
beginWord = "lead"endWord = "gold"wordList = ["load", "goad", "gold", "lend", "lewd", "bold"]
Wyjście
4
Wyjaśnienie
lead i gold różnią się trzema literami, więc żadna drabinka nie ma mniej niż 4 słowa, a lead, load, goad, gold mają dokładnie 4. lend i lewd również różnią się od lead jedną literą, ale żadne z nich nie prowadzi do niczego nowego, a do bold można dotrzeć tylko z samego gold.

lock icon+14 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Czy możesz zwrócić jedną z najkrótszych ścieżek, czyli słowa w kolejności, a nie tylko jej długość?

Zresetuj kod
def ladderLength(beginWord, endWord, wordList):
    # Wpisz kod tutaj
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

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

Oczekiwane

4