Entrevista a los 150 mejoresfácil

Búsqueda de palabras

Guía detallada e implementación de Python para el problema de 'Búsqueda de palabras'.

Declaración del problema

fácil

Dada una cuadrícula de caracteres m x n y una palabra de cadena, devuelve verdadero si la palabra existe en la cuadrícula.

Una palabra se puede construir a partir de letras de celdas secuencialmente adyacentes, donde las celdas adyacentes son vecinas horizontal o verticalmente. La misma celda con letra no se puede utilizar más de una vez.

Implementar una función exist(board: list, word: str) -> bool.

Restricciones
  • m == board.length
  • n == board[i].length
  • 1 <= m, n <= 6
  • 1 <= word.length <= 15
  • board and word consists of only lowercase and uppercase English letters

Ejemplos

Example 1
Input
[["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], "ABCCED"
Output
True
Explanation

The word ABCCED can be traced: A(0,0)->B(0,1)->C(0,2)->C(1,2)->E(2,2)->D(2,1).

Example 2
Input
[["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], "SEE"
Output
True
Explanation

The word SEE can be traced: S(1,3)->E(2,3)->E(2,2).

Example 3
Input
[["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], "ABCB"
Output
False
Explanation

Cannot trace ABCB without reusing cells.

Need a Hint?
Considere la posibilidad de utilizar estructuras de datos específicas de Backtracking, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

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

Abrir en el 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 recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.