463. 岛屿的周长
class Solution:def islandPerimeter(self, grid: List[List[int]]) -> int:res = 0m, n = len(grid), len(grid[0])# 遍历grid,就是所有的封闭岛屿for i in range(m):for j in range(n):if grid[i][j] == 1:res += self.dfs_matrix(grid, i, j)return resdef dfs_matrix(self, grid, i, j):m, n = len(grid), len(grid[0])# 跳出递归条件if i < 0 or i >= m or j < 0 or j >= n or grid[i][j] == 0:return 1if grid[i][j] == 2:return 0grid[i][j] = 2tmp = 0tmp += self.dfs_matrix(grid, i - 1, j)tmp += self.dfs_matrix(grid, i + 1, j)tmp += self.dfs_matrix(grid, i, j - 1)tmp += self.dfs_matrix(grid, i, j + 1)return tmp