Le migliori 150 intervisteFacile

Scala delle parole

Guida dettagliata e implementazione Python per il problema 'Word Ladder'.

Dichiarazione del problema

Facile

Una sequenza di trasformazione dalla parola BeginWord alla parola EndWord utilizzando un dizionario wordList è una sequenza di parole BeginWord -> s1 -> s2 -> ... -> sk tale che:

- Ogni coppia di parole adiacenti differisce per una sola lettera.

- Ogni si per 1 <= i <= k è in wordList. Tieni presente che non è necessario che BeginWord sia in wordList.

- sk == parola finale.

Date due parole, BeginWord e EndWord, e un dizionario wordList, restituisce il numero di parole nella sequenza di trasformazione più breve da BeginWord a EndWord o 0 se tale sequenza non esiste.

Scrivi una funzione ladderLength(beginWord: str, endWord: str, wordList: List[str]) -> int.

Vincoli
  • 1 <= len(beginWord) <= 10
  • endWord.length == beginWord.length
  • 1 <= len(wordList) <= 5000
  • wordList[i].length == beginWord.length
  • beginWord, endWord, and wordList[i] consist of lowercase English letters
  • All the words in wordList are unique

Esempi

Example 1
Input
beginWord = "hit", endWord = "cog", wordList = ["hot","dot","dog","lot","log","cog"]
Output
5
Explanation

One shortest transformation sequence is "hit" -> "hot" -> "dot" -> "dog" -> "cog", which is 5 words long.

Example 2
Input
beginWord = "hit", endWord = "cog", wordList = ["hot","dot","dog","lot","log"]
Output
0
Explanation

The endWord "cog" is not in wordList, so there is no valid transformation sequence.

Need a Hint?
Prendi in considerazione l'utilizzo di strutture dati specifiche di Graphs come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Apri nell'editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.