Menu
CoddyTech

Word Ladder

SulitGrafQueuepython iconjava iconcpp iconc iconjs icon+10

Kamu mendapatkan dua kata, beginWord dan endWord, serta sebuah daftar kata wordList. Sebuah rangkaian dimulai dengan beginWord, berakhir dengan endWord, dan mengubah tepat satu huruf dari setiap kata ke kata berikutnya. Setiap kata setelah beginWord harus berasal dari wordList, jadi endWord harus ada di dalamnya; beginWord tidak harus ada.

Kembalikan jumlah kata dalam rangkaian terpendek, termasuk kedua ujungnya, atau 0 jika tidak ada.

Fungsi

ladderLength(beginWord: string, endWord: string, wordList: string-array) → integer
beginWordstring
kata pertama pada tangga
endWordstring
kata the ladder harus sampai
wordListstring-array
kata-kata yang harus menjadi sumber bagi setiap langkah berikutnya
Mengembalikaninteger
jumlah kata dalam tangga terpendek, atau 0 jika tidak ada

Batasan

  • 1 ≤ beginWord.length ≤ 10
  • endWord dan setiap kata dalam wordList memiliki panjang yang sama dengan beginWord.
  • 1 ≤ wordList.length ≤ 5000
  • Semua kata hanya berisi huruf bahasa Inggris kecil.
  • beginWord != endWord
  • Kata-kata dalam wordList semuanya berbeda. beginWord mungkin termasuk di dalamnya atau mungkin tidak.

Contoh

Input
beginWord = "lead"endWord = "gold"wordList = ["load", "goad", "gold", "lend", "lewd", "bold"]
Output
4
Penjelasan
lead dan gold berbeda dalam tiga huruf, jadi ladder membutuhkan setidaknya 4 kata, dan lead, load, goad, gold berisi 4 kata. lend dan lewd adalah jalan buntu.
challenge icon

Pertanyaan lanjutan

Bisakah kamu mengembalikan satu rangkaian kata terpendek itu sendiri, dengan kata-kata berurutan, bukan panjangnya?

Reset kode
def ladderLength(beginWord, endWord, wordList):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

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

Output yang diharapkan

4