Number of Enclaves LeetCode solution in Python

1
class Solution:
2
def recursion(self, grid, row, col, m, n):
3
if 0 <= row < m and 0 <= col < n and grid[row][col] == 1:
4
grid[row][col] = "t"
5
self.recursion(grid, row + 1, col, m, n)
6
self.recursion(grid, row - 1, col, m, n)
7
self.recursion(grid, row, col + 1, m, n)
8
self.recursion(grid, row, col - 1, m, n)
9

10
def numEnclaves(self, grid: List[List[int]]) -> int:
11
m, n = len(grid), len(grid[0])
12
if not m or not n:
13
return 0
14
# mark all boundary lands and neighbors with 0
15
for row in range(m):
16
self.recursion(grid, row, 0, m, n)
17
self.recursion(grid, row, n - 1, m, n)
18

19
for col in range(n):
20
self.recursion(grid, 0, col, m, m)
21
self.recursion(grid, m - 1, col, m, n)
22

23
result = 0
24
for i in range(m):
25
for j in range(n):
26
if grid[i][j] == 1:
27
result += 1
28

29
return result

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0