Menu
CoddyTech

Word Search

Ricevi una griglia di lettere board, un elenco di stringhe in cui board[r][c] è la lettera nella riga r, colonna c, e una stringa word.

Restituisci true se riesci a tracciare word: inizia da una cella qualsiasi e spostati ogni volta nella cella sopra, sotto, a sinistra o a destra, in modo che le celle visitate compongano word nell'ordine corretto, senza mai usare una cella due volte. Altrimenti, restituisci false. Le lettere distinguono tra maiuscole e minuscole.

Funzione

exist(board: string-array, word: string) → boolean
boardstring-array
la griglia, una stringa di lettere per riga
wordstring
la parola da ricalcare
Restituisceboolean
se la parola può essere tracciata attraverso celle adiacenti, ciascuna usata al massimo una volta

Vincoli

  • 1 ≤ board.length ≤ 6
  • 1 ≤ board[i].length ≤ 6 e ogni riga ha la stessa lunghezza.
  • 1 ≤ word.length ≤ 20
  • board e word contengono solo lettere inglesi, maiuscole e minuscole.

Esempi

Input
board = ["STAR", "POOL", "ENDS"]word = "STOOLS"
Output
true
Spiegazione
Inizia dalla S in alto a sinistra, vai a destra fino alla T, scendi fino alla O, vai a destra fino alla O e alla L, quindi scendi fino alla S sotto la L. Nessuna cella si ripete.
challenge icon

Per approfondire

Invece di sì o no, riesci a contare quante diverse tracce di word contiene la griglia?

Ripristina il codice
def exist(board, word):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomenti

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

Output atteso

true