福州市网站建设_网站建设公司_Spring_seo优化
2026/1/16 22:55:40 网站建设 项目流程

本文参考代码随想录

给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域。

网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。

岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长

思路

遍历每一个空格,遇到岛屿,计算其上下左右的情况,遇到水域或者出界的情况,就可以计算边了。

classSolution:defislandPerimeter(self,grid:List[List[int]])->int:res=0m=len(grid)n=len(grid[0])foriinrange(m):forjinrange(n):ifgrid[i][j]==0:print(i,j)continueifi==0orgrid[i-1][j]==0:res+=1ifi==m-1orgrid[i+1][j]==0:res+=1ifj==0orgrid[i][j-1]==0:res+=1ifj==n-1orgrid[i][j+1]==0:res+=1returnres

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询