Menu
CoddyTech

Word Search

Дана сетка букв board, список строк, где board[r][c] — буква в строке r, столбце c, и строка word.

Верните true, если можно проследить word: начните с любой ячейки и каждый раз переходите в ячейку сверху, снизу, слева или справа, чтобы посещённые ячейки в указанном порядке образовали word, при этом ни одна ячейка не используется дважды. В противном случае верните false. Регистр букв учитывается.

Функция

exist(board: string-array, word: string) → boolean
boardstring-array
сетка, по одной строке букв в каждом ряду
wordstring
слово для обведения
Возвращаетboolean
можно ли проследить слово через соседние клетки, используя каждую не более одного раза

Ограничения

  • 1 ≤ board.length ≤ 6
  • 1 ≤ board[i].length ≤ 6, и все строки имеют одинаковую длину.
  • 1 ≤ word.length ≤ 20
  • board и word содержат только английские буквы, прописные и строчные.

Примеры

Ввод
board = ["STAR", "POOL", "ENDS"]word = "STOOLS"
Вывод
true
Пояснение
Начните с верхней левой S, двигайтесь вправо к T, вниз к O, вправо к O и L, а затем вниз к S под L. Ни одна ячейка не повторяется.
challenge icon

Дополнительный вопрос

Вместо того чтобы ответить «да» или «нет», можешь посчитать, сколько разных вариантов провести линию по word есть на доске?

Сбросить код
def exist(board, word):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргументы

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

Ожидаемый вывод

true