Menu
CoddyTech

Word Search

Se te da una cuadrícula de letras board, representada como una lista de cadenas donde board[r][c] es la letra de la fila r, columna c, y una cadena word.

Devuelve true si puedes trazar word en la cuadrícula: empieza en cualquier celda y, en cada paso, ve a la celda directamente encima, debajo, a la izquierda o a la derecha de la actual, de modo que las celdas que visites formen word en orden. No puedes usar la misma celda dos veces al trazar. De lo contrario, devuelve false. Se distingue entre mayúsculas y minúsculas, así que a y A son diferentes.

Función

exist(board: string-array, word: string) → boolean
boardstring-array
la cuadrícula, una cadena de letras por fila
wordstring
la palabra que debes trazar
Devuelveboolean
si la palabra puede rastrearse a través de celdas contiguas, usando cada una como máximo una vez

Restricciones

  • 1 ≤ board.length ≤ 6
  • 1 ≤ board[i].length ≤ 6, y todas las filas tienen la misma longitud.
  • 1 ≤ word.length ≤ 20
  • board y word contienen solo letras inglesas, mayúsculas y minúsculas.

Ejemplos

Entrada
board = ["STAR", "POOL", "ENDS"]word = "STOOLS"
Salida
true
Explicación
Empieza en la S de la fila 0, columna 0; después ve a la derecha hasta la T, baja hasta la O, ve a la derecha hasta la segunda O, sigue a la derecha hasta la L y baja hasta la S de la fila 2, columna 3. Son seis celdas diferentes, cada una junto a la anterior.

lock icon+23 pruebas ocultas al enviar

challenge icon

Para ir más allá

En lugar de responder sí o no, ¿puedes contar cuántos recorridos diferentes de word contiene el tablero?

Restablecer código
def exist(board, word):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

board = ["STAR", "POOL", "ENDS"]
word = "STOOLS"

Esperado

true