-
[LeetCode] 1254. Number of Closed Islands알고리즘 2022. 5. 29. 15:47
class Solution: def closedIsland(self, grid: List[List[int]]) -> int: n = len(grid) m = len(grid[0]) if (n <= 2 or m <= 2): return 0 def dfs(r,c): nonlocal res; if (r < 0 or r >= n or c < 0 or c >= m or grid[r][c] == 1): return ; if ((r == 0 or r == n - 1 or c == 0 or c == m - 1) and grid[r][c] == 0): res = False; grid[r][c] = 1; 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 (grid[i][k] == 0): res = True; dfs(i,k); if (res): cnt += 1; return cnt
'알고리즘' 카테고리의 다른 글
[LeetCode] 1905. Count Sub Islands (0) 2022.06.02 [LeetCode] 1020. Number of Enclaves (0) 2022.05.31 [LeetCode] 695. Max Area of Island (0) 2022.05.28 [LeetCode] 773. Flood Fill (0) 2022.05.26 [Python] 팰린드롬 알고리즘 (Palindrome Algorithm) 설명 및 예제 (0) 2022.05.14