Menu
CoddyTech

Word Search

Você recebe uma grade de letras board, representada por 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 na grade: comece em qualquer célula e, a cada etapa, vá para a célula diretamente acima, abaixo, à esquerda ou à direita da célula atual, de modo que as células visitadas formem word na ordem. Um traçado não pode usar a mesma célula duas vezes. Caso contrário, retorne false. As letras diferenciam maiúsculas de minúsculas, então a e A são diferentes.

Função

exist(board: string-array, word: string) → boolean
boardstring-array
à grade, uma sequência de letras por linha
wordstring
a palavra para rastrear
Retornaboolean
se é possível rastrear a palavra passando por células adjacentes, 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 na linha 0, coluna 0, depois vá para a direita até T, para baixo até O, para a direita até o segundo O, para a direita até L e para baixo até o S na linha 2, coluna 3. São seis células diferentes, cada uma ao lado da anterior.

lock icon+23 testes ocultos ao enviar

challenge icon

Para ir além

Em vez de responder sim ou não, você consegue contar quantas sequências diferentes de word o tabuleiro contém?

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

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

true