Island Perimeter (Leetcode 463)
Problem Link: https://leetcode.com/problems/island-perimeter/
Using Loops:
class Solution:
def islandPerimeter(self, grid: List[List[int]]) -> int:
rows=len(grid)
cols=len(grid[0])
ans=0
for i in range(rows):
for j in range(cols):
if(grid[i][j]==1):
ans=ans+4
if(i-1>=0 and grid[i-1][j]==1):
ans=ans-2
if(j-1>=0 and grid[i][j-1]==1):
ans=ans-2
return ans
Using DFS(Recursion):
class Solution:
def islandPerimeter(self, grid: List[List[int]]) -> int:
row=len(grid)
col=len(grid[0])
def fun(grid):
if(len(grid)==1):
tempAns=0
for i in range(len(grid[0])):
if(grid[0][i]==1):
tempAns+=4
if(i-1>=0 and grid[0][i-1]==1):
tempAns-=2
return tempAns
tempAns=fun(grid[1:])
print(tempAns)
col=len(grid[0])
for i in range(col):
if(grid[0][i]==1):
tempAns+=4
if(grid[1][i]==1):
tempAns-=2
if(i-1>=0 and grid[0][i-1]==1):
tempAns-=2
else:
continue
return tempAns
return fun(grid)
Last updated