Menu
CoddyTech

Word Search

Você recebe uma grade de letras board, uma lista de strings em que board[r][c] é a letra na linha r, coluna c, e uma string word.

Retorne true se for possível traçar word: comece em qualquer célula e, a cada passo, vá para a célula acima, abaixo, à esquerda ou à direita, de modo que as células visitadas formem word na ordem correta, sem usar uma célula duas vezes. Caso contrário, retorne false. As letras diferenciam maiúsculas de minúsculas.

Função

exist(board: string-array, word: string) → boolean
boardstring-array
a grade, uma sequência de letras por linha
wordstring
a palavra para rastrear
Retornaboolean
se é possível rastrear a palavra por células lado a lado, usando cada uma no máximo uma vez

Restrições

  • 1 ≤ board.length ≤ 6
  • 1 ≤ board[i].length ≤ 6, e todas as linhas têm o mesmo comprimento.
  • 1 ≤ word.length ≤ 20
  • board e word contêm apenas letras do alfabeto inglês, maiúsculas e minúsculas.

Exemplos

Entrada
board = ["STAR", "POOL", "ENDS"]word = "STOOLS"
Saída
true
Explicação
Comece no S do canto superior esquerdo, vá para a direita até T, desça até O, vá para a direita até O e L, e desça até o S abaixo do L. Nenhuma célula se repete.
challenge icon

Para ir além

Em vez de responder sim ou não, você consegue contar quantos traçados diferentes de word há no tabuleiro?

Redefinir código
def exist(board, word):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumentos

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

Saída Esperada

true