Menu
CoddyTech

Word Search

ŚrednieNawrotyGrafypython iconjava iconcpp iconc iconjs icon+10

Otrzymujesz siatkę liter board, listę ciągów znaków, w której board[r][c] to litera w wierszu r, kolumnie c, oraz ciąg znaków word.

Zwróć true, jeśli możesz odtworzyć word: zacznij na dowolnym polu i za każdym razem przejdź na pole powyżej, poniżej, po lewej lub po prawej, tak aby odwiedzane pola tworzyły kolejno word. Nie możesz użyć żadnego pola więcej niż raz. W przeciwnym razie zwróć false. Wielkość liter ma znaczenie.

Funkcja

exist(board: string-array, word: string) → boolean
boardstring-array
siatka, jeden ciąg liter w każdym wierszu
wordstring
słowo do przepisania
Zwracaboolean
czy słowo można prześledzić przez sąsiadujące ze sobą komórki, używając każdej z nich najwyżej raz

Ograniczenia

  • 1 ≤ board.length ≤ 6
  • 1 ≤ board[i].length ≤ 6, a każdy wiersz ma tę samą długość.
  • 1 ≤ word.length ≤ 20
  • board i word zawierają tylko angielskie litery, małe i wielkie.

Przykłady

Wejście
board = ["STAR", "POOL", "ENDS"]word = "STOOLS"
Wyjście
true
Wyjaśnienie
Zacznij w lewym górnym rogu na S, przejdź w prawo do T, w dół do O, w prawo do O i L, a następnie w dół do S pod L. Żadne pole się nie powtarza.
challenge icon

Pytanie dodatkowe

Zamiast odpowiadać tak lub nie, możesz policzyć, ile różnych ścieżek dla word znajduje się na planszy?

Zresetuj kod
def exist(board, word):
    # Wpisz tutaj kod

Test #1

Test #2

Test #3

Argumenty

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

Oczekiwany wynik

true