Я пытаюсь решить leetcode 79. поиск слова с помощью python, однако возникают проблемы с отладкой моего решения.Застрял в контрольном случае: {[["A", "B", "C", "E"], ["S", "F", "E", "S"], ["A", "D"," E "," E "]]" ABCESEEEFS "}, он не пройдет описанный выше тестовый пример, нужна помощь, спасибо.
class Solution(object):
def exist(self, board, word):
"""
:type board: List[List[str]]
:type word: str
:rtype: bool
"""
def dfs(board, word, used, x, y):
if not word: return True
direction = [[0, 1],[0, -1],[1, 0],[-1, 0]]
if (0 <= x < len(board)) and (0 <= y < len(board[0])) and ((x, y) not in used) and (board[x][y] == word[0]):
used.add((x, y))
return (dfs(board, word[1:], used, x + direction[0][0], y + direction[0][1]) or
dfs(board, word[1:], used, x + direction[1][0], y + direction[1][1]) or
dfs(board, word[1:], used, x + direction[2][0], y + direction[2][1]) or
dfs(board, word[1:], used, x + direction[3][0], y + direction[3][1]))
return False
for i in range(len(board)):
for j in range(len(board[0])):
if dfs(board, word, set(), i, j) == True: return True
return False