class Solution(object):
def islandPerimeter(self, grid):
"""
:type grid: List[List[int]]
:rtype: int
"""
h = len(grid)
w = len(grid[0]) if h else 0
perimeter = 0
for x in range(h):
for y in range(w):
if grid[x][y] == 1:
perimeter += 4
if x>0 and grid[x - 1][y]:
perimeter -= 2
if y>0and grid[x][y - 1]:
perimeter -= 2
def islandPerimeter(self, grid):
"""
:type grid: List[List[int]]
:rtype: int
"""
h = len(grid)
w = len(grid[0]) if h else 0
perimeter = 0
for x in range(h):
for y in range(w):
if grid[x][y] == 1:
perimeter += 4
if x>0 and grid[x - 1][y]:
perimeter -= 2
if y>0and grid[x][y - 1]:
perimeter -= 2
return perimeter
算小岛的周长,每次加4,再判断上一行是不是存在,存在的话就连接,连接则会少2个线,再看上一列,存在则也少两个线