150 principais entrevistasFácil

Escada de palavras

Guia detalhado e implementação de Python para o problema 'Word Ladder'.

Declaração do problema

Fácil

Uma sequência de transformação da palavra BeginWord para a palavra endWord usando um dicionário WordList é uma sequência de palavras BeginWord -> s1 -> s2 -> ... -> sk tal que:

- Cada par adjacente de palavras difere em uma única letra.

- Todo si para 1 <= i <= k está em wordList. Observe que o BeginWord não precisa estar no WordList.

-sk == fimPalavra.

Dadas duas palavras, BeginWord e EndWord, e um dicionário WordList, retorne o número de palavras na sequência de transformação mais curta de BeginWord para EndWord, ou 0 se tal sequência não existir.

Escreva uma função ladderLength(beginWord: str, endWord: str, wordList: List[str]) -> int.

Restrições
  • 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

Exemplos

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?
Considere usar estruturas de dados específicas de gráficos, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.