Menu
CoddyTech

Word Search

Tu disposes d’une grille de lettres board, d’une liste de chaînes où board[r][c] est la lettre de la ligne r, colonne c, et d’une chaîne word.

Retourne true si tu peux tracer word : commence sur n’importe quelle cellule et déplace-toi à chaque fois vers la cellule au-dessus, en dessous, à gauche ou à droite, de sorte que les cellules visitées épellent word dans l’ordre, sans jamais utiliser deux fois la même cellule. Sinon, retourne false. Les lettres sont sensibles à la casse.

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 suivi à 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
Commencez en haut à gauche, sur S, allez à droite jusqu’à T, descendez jusqu’à O, allez à droite jusqu’à O et L, puis descendez jusqu’au S sous le L. Aucune case ne se répète.
challenge icon

Pour aller plus loin

Au lieu de répondre par oui ou 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

Test #1

Test #2

Test #3

Arguments

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

Résultat attendu

true