Untitled
unknown
plain_text
3 years ago
1.2 kB
10
Indexable
class Solution:
def exist(self, board: List[List[str]], word: str) -> bool:
def recur(i, j, index):
if index == len(word):
return True
if min(i,j) < 0 or i >= n or j >= m or board[index] != board[i][j]:
return False
# exit if it already exists in the current path
if (i, j) in path:
return False
path.add((i, j))
if recur(i-1, j, index + 1) or recur(i+1, j, index +1) or \
recur(i, j-1, index+1) or recur(i, j+1, index+1):
return True
path = set()
return False
path = set() # Using a set since you can not use a
n, m = len(board), len(board[0])
for p in range(len(board)):
for q in range(len(board[0])):
if recur(p, q, 0):
return True
return False
Editor is loading...