freedom.9
Senior Member
Python:
class Solution:
def islandPerimeter(self, grid: List[List[int]]) -> int:
perimeter = 0
m = len(grid)
n = len(grid[0])
directions = [[0, -1], [0, 1], [ -1, 0], [1, 0]]
for i in range(m):
for j in range(n):
if grid[i][j] == 0:
continue
perimeter += 4
for dx, dy in directions:
newRow = dx + i
newColumn = dy + j
if 0 <= newRow < m and 0 <= newColumn < n and grid[newRow][newColumn] == 1:
perimeter -= 1
return perimeter