class Solution:
def islandPerimeter(self, grid: List[List[int]]) -> int:
land, repeat = 0, 0 #land和重复边计数
row, col = len(grid), len(grid[0])
for i in range(row):
for j in range(col):
if grid[i][j] == 1:
land += 1
if j+1 < col and grid[i][j+1] == 1: #右侧有land
repeat += 1
if i+1 < row and grid[i+1][j] == 1: #下侧有land
repeat += 1
return land*4 - repeat*2