因为方块是相连的,所以每个方块的周长是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
本文介绍了一种计算由1表示的岛屿周长的方法。通过遍历二维数组,每当遇到陆地时,初始周长增加4,之后检查相邻的左右上下位置是否也是陆地,若是则从总周长中减去2。
392

被折叠的 条评论
为什么被折叠?



