Menu
CoddyTech

Word Search

Ti viene fornita una griglia di lettere board, rappresentata come 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 sulla griglia: inizia da una cella qualsiasi e, a ogni passo, spostati nella cella direttamente sopra, sotto, a sinistra o a destra di quella corrente, in modo che le celle visitate compongano word nell’ordine indicato. Non puoi usare la stessa cella più di una volta. Altrimenti restituisci false. Le lettere distinguono tra maiuscole e minuscole, quindi a e A sono diverse.

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 alla riga 0, colonna 0, poi vai a destra fino alla T, scendi fino alla O, vai a destra fino alla seconda O, vai a destra fino alla L e scendi fino alla S alla riga 2, colonna 3. Sono sei celle diverse, ciascuna adiacente a quella precedente.

lock icon+23 test nascosti all’invio

challenge icon

Per approfondire

Invece di sì o no, puoi contare quante tracciature diverse di word contiene la griglia?

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

Caso 1

Caso 2

Caso 3

Input

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

Atteso

true