알고리즘
[LeetCode] 1905. Count Sub Islands
유병각
2022. 6. 2. 01:26
1905. Count Sub Islands
class Solution:
def countSubIslands(self, grid1: List[List[int]], grid2: List[List[int]]) -> int:
n = len(grid1)
m = len(grid1[0])
def dfs(r,c):
nonlocal flag
if (r < 0 or r >= n or c < 0 or c >= m or grid2[r][c] == 0):
return ;
grid2[r][c] = 0;
if (grid1[r][c] != 1):
flag = False
dfs(r+1,c)
dfs(r-1,c)
dfs(r,c+1)
dfs(r,c-1)
cnt = 0;
for i in range(n):
for k in range(m):
if (grid2[i][k] == 1):
flag = True
dfs(i,k)
if (flag):
cnt += 1;
return cnt