题解 | #岛屿的最大面积#

岛屿的最大面积

https://www.nowcoder.com/practice/5568943d3a08403f932a5e54ec3ece71

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param grid int整型二维数组 
# @return int整型
#
class Solution:
    def maxAreaIsland(self , grid: List[List[int]]) -> int:
        # write code here
        ans=0
        for i in range(len(grid)):
            for j in range(len(grid[0])):
                # print(self.visited)
                if(grid[i][j]==1):
                    ans=max(ans,self.Core(grid,i,j))
        return ans
    
    def Core(self,grid,row,col):
        if(row<0 or row>=len(grid) or col<0 or col>=len(grid[0]) or grid[row][col]==0):
            return 0
        grid[row][col]=0
        up=self.Core(grid,row+1,col)
        down=self.Core(grid,row-1,col)
        left=self.Core(grid,row,col+1)
        right=self.Core(grid,row,col-1)

        return up+down+left+right+1
		实现岛屿面积求解的过程当中,将搜索到的岛屿进行置0,因为该块区域在接下来的搜索当中肯定用不到了,以此无需另外创建数组就可以完成对整个数组的搜索

全部评论

相关推荐

11-05 07:29
贵州大学 Java
点赞 评论 收藏
分享
object3:开始给部分🌸孝子上人生第一课了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务