Island Perimeter
DFS
Last updated
DFS
Last updated
Input: grid = [[1]]
Output: 4Input: grid = [[1,0]]
Output: 4class Solution:
def islandPerimeter(self, grid: List[List[int]]) -> int:
for i in range(len(grid)):
for j in range(len(grid[0])):
if grid[i][j] == 1:
return self.dfsearch(i,j,grid)
return 0
def dfsearch(self, i, j, grid):
if i < 0 or i >= len(grid) or j < 0 or j >= len(grid[0]):
return 1
if grid[i][j] == 0:
return 1
if grid[i][j] == -1:
return 0
grid[i][j] = -1
count = 0
count += self.dfsearch(i+1, j, grid)
count += self.dfsearch(i-1, j, grid)
count += self.dfsearch(i, j-1, grid)
count += self.dfsearch(i, j+1, grid)
return count