Menu
CoddyTech

Word Search

On vous donne une grille de lettres board, sous la forme d’une liste de chaînes où board[r][c] est la lettre de la ligne r, colonne c, ainsi qu’une chaîne word.

Renvoyez true si vous pouvez tracer word sur la grille : commencez sur n’importe quelle case, puis déplacez-vous à chaque étape vers la case directement au-dessus, en dessous, à gauche ou à droite de la case actuelle, de sorte que les cases visitées épellent word dans l’ordre. Un tracé ne peut pas utiliser deux fois la même case. Sinon, renvoyez false. La casse des lettres est prise en compte : a et A sont donc différentes.

Fonction

exist(board: string-array, word: string) → boolean
boardstring-array
la grille, une chaîne de lettres par ligne
wordstring
le mot à tracer
Renvoieboolean
si le mot peut être retracé à travers des cellules côte à côte, chacune utilisée au plus une fois

Contraintes

  • 1 ≤ board.length ≤ 6
  • 1 ≤ board[i].length ≤ 6, et chaque ligne a la même longueur.
  • 1 ≤ word.length ≤ 20
  • board et word ne contiennent que des lettres anglaises, majuscules et minuscules.

Exemples

Entrée
board = ["STAR", "POOL", "ENDS"]word = "STOOLS"
Sortie
true
Explication
Commence sur le S à la ligne 0, colonne 0, puis va à droite jusqu’au T, descends jusqu’au O, va à droite jusqu’au deuxième O, va à droite jusqu’au L, puis descends jusqu’au S de la ligne 2, colonne 3. Cela fait six cellules différentes, chacune adjacente à la précédente.

lock icon+23 tests cachés à la soumission

challenge icon

Pour aller plus loin

Au lieu de répondre par oui ou par non, peux-tu compter combien de tracés différents de word se trouvent sur le plateau ?

Réinitialiser le code
def exist(board, word):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

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

Attendu

true