因为方块是相连的,所以每个方块的周长是4,每增加一个就会-2,将网格看成一个二维数组,当发现一个数组出现1的时候可以在周长加4,然后判断这个节点的左边(或者右边)是否有方块,有的话就-2,上下方向类似
class Solution(Object):
def fun(self,grid):
grid_heigh=len(grid)
grid_weith=len(grid[0]) if len(grid) else 0
perimeter=0
for x in range(grid_heigh):
for y in range(grid_width):
if grid[x][y]==1:
perimeter+=4
if grid[x-1][y]==1:
perimeter-=2
if grid[x][y-1]==1:
perimeter-=2
return perimeter