golang刷leetcode 技巧之如何解决岛屿的最大面积问题
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍golang刷leetcode 技巧之如何解决岛屿的最大面积问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!给定一个包含了一些 0 和 1 的非空二维数组 g
千家信息网最后更新 2026年11月01日golang刷leetcode 技巧之如何解决岛屿的最大面积问题
这篇文章主要介绍golang刷leetcode 技巧之如何解决岛屿的最大面积问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
给定一个包含了一些 0 和 1 的非空二维数组 grid 。
一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。
找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)
示例 1:
[[0,0,1,0,0,0,0,1,0,0,0,0,0],
[0,0,0,0,0,0,0,1,1,1,0,0,0],
[0,1,1,0,1,0,0,0,0,0,0,0,0],
[0,1,0,0,1,1,0,0,1,0,1,0,0],
[0,1,0,0,1,1,0,0,1,1,1,0,0],
[0,0,0,0,0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,1,1,1,0,0,0],
[0,0,0,0,0,0,0,1,1,0,0,0,0]]
对于上面这个给定矩阵应返回 6。注意答案不应该是 11 ,因为岛屿只能包含水平或垂直的四个方向的 1 。
示例 2:
[[0,0,0,0,0,0,0,0]]
对于上面这个给定的矩阵, 返回 0。
注意: 给定的矩阵grid 的长度和宽度都不超过 50。
解题思路:
1,这个问题和朋友圈那个问题类似,只不过求解目标不一样
2,朋友圈问题是求解连通域个数,这里是求解联通域面积
3,解决方案:深度优先遍历
4,深度优先遍历最简单的方法便是递归
5,这里比朋友圈问题复杂的地方在于,朋友圈问题是对称的,因此是个一维问题,这个问题是二维问题
6,小技巧:是否访问一般用map存,当时golang访问map需要判定,所以简单方法用slice存
代码实现:
func maxAreaOfIsland(grid [][]int) int {visited:=make([][]int,len(grid))for i:=0;ivisited[i]=make([]int,len(grid[0]))}max:=0for i:=0;ifor j:=0;jv:=dfs(grid,visited,i,j)if v>max{max=v}}}return max}func dfs(grid,visited [][]int,i,j int)int{if i<0 ||j<0 ||i>=len(grid) ||j>=len(grid[0]) ||grid[i][j]!=1 ||visited[i][j]==1{return 0}visited[i][j]=1return 1+dfs(grid,visited,i+1,j)+dfs(grid,visited,i,j+1)+dfs(grid,visited,i-1,j)+dfs(grid,visited,i,j-1)}
以上是"golang刷leetcode 技巧之如何解决岛屿的最大面积问题"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
问题
岛屿
面积
朋友
最大
技巧
矩阵
二维
代表
内容
数组
方向
方法
水平
深度
示例
篇文章
复杂
对称
两个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
耶加雪菲
互联网科技开发公司
互联网 科技
互联网科技金融
西安互联网科技
凡科互联网科技
互联网科技logo设计
深圳期待互联网科技
撒么互联网科技公司
深圳互联网科技怎么样
安控科技rtu产品工业互联网
昭通云南众福互联网科技有限公司
互联网科技与管理
玉溪互联网科技怎么选
燊美集互联网科技有限公司
互联网科技大赛获奖感言
互联网金融科技名词解释
锡山区互联网智能科技产品供应
九思连强互联网电子科技有限公司
互联网的科技体现在哪里
互联网科技图片
中资互联网科技
互联网 的科技创新
互联网未来科技
善班互联网科技有限公司
宁夏众和广鑫互联网科技有限公司
洛阳共同富裕互联网科技有限公司
广州燕处互联网科技有限公司
广东鹅鹅鹅互联网科技有限公司
北京瑞云互联网科技有限公司