Advertisement
smj007

Untitled

Aug 19th, 2023
1,197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.85 KB | None | 0 0
  1. class Solution:
  2.     def solve(self, board: List[List[str]]) -> None:
  3.         """
  4.        Do not return anything, modify board in-place instead.
  5.        """
  6.  
  7.         rows = len(board)
  8.         cols = len(board[0])
  9.         visited = set()
  10.  
  11.         def dfs(r, c):
  12.             if r<0 or c<0 or c == cols or r == rows or board[r][c] == "X" or (r, c) in visited:
  13.                 return
  14.  
  15.             visited.add((r, c))
  16.  
  17.             dfs(r+1, c)
  18.             dfs(r-1, c)
  19.             dfs(r, c+1)
  20.             dfs(r, c-1)
  21.  
  22.             return
  23.  
  24.         for r in range(rows):
  25.             dfs(r, 0)
  26.             dfs(r, cols-1)
  27.  
  28.         for c in range(cols):
  29.             dfs(0, c)
  30.             dfs(rows-1, c)
  31.  
  32.         for r in range(rows):
  33.             for c in range(cols):
  34.                 if (r, c) not in visited:
  35.                     board[r][c] = "X"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement