给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 ,请问面积最大的岛屿是多少。 例如: 当输入[[1,0],[0,1]]时,对应的地图为: 只有在水平或竖直方向相邻的岛屿可以连在一起,所以每个岛屿互相独立。最大面积是1 当输入 [[1,1],[1,0]]时, 对应的地图为: 三块岛屿可以连在一起,最大面积是3 数据范围:-笔试面试资料

这是qklbishe.com第18873 篇笔试面试资料
提供答案分析,通过本文《给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 ,请问面积最大的岛屿是多少。
例如: 当输入[[1,0],[0,1]]时,对应的地图为:
只有在水平或竖直方向相邻的岛屿可以连在一起,所以每个岛屿互相独立。最大面积是1

当输入 [[1,1],[1,0]]时, 对应的地图为:
三块岛屿可以连在一起,最大面积是3

数据范围:-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 ,请问面积最大的岛屿是多少。
例如:
当输入[[1,0],[0,1]]时,对应的地图为:
给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 ,请问面积最大的岛屿是多少。          例如:    当输入[[1,0],[0,1]]时,对应的地图为:          只有在水平或竖直方向相邻的岛屿可以连在一起,所以每个岛屿互相独立。最大面积是1            当输入 [[1,1],[1,0]]时, 对应的地图为:           三块岛屿可以连在一起,最大面积是3            数据范围:
只有在水平或竖直方向相邻的岛屿可以连在一起,所以每个岛屿互相独立。最大面积是1
当输入[[1,1],[1,0]]时,对应的地图为:
给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 ,请问面积最大的岛屿是多少。          例如:    当输入[[1,0],[0,1]]时,对应的地图为:          只有在水平或竖直方向相邻的岛屿可以连在一起,所以每个岛屿互相独立。最大面积是1            当输入 [[1,1],[1,0]]时, 对应的地图为:           三块岛屿可以连在一起,最大面积是3            数据范围:
三块岛屿可以连在一起,最大面积是3
数据范围:给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 ,请问面积最大的岛屿是多少。          例如:    当输入[[1,0],[0,1]]时,对应的地图为:          只有在水平或竖直方向相邻的岛屿可以连在一起,所以每个岛屿互相独立。最大面积是1            当输入 [[1,1],[1,0]]时, 对应的地图为:           三块岛屿可以连在一起,最大面积是3            数据范围:
Go

给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 ,请问面积最大的岛屿是多少。          例如:    当输入[[1,0],[0,1]]时,对应的地图为:          只有在水平或竖直方向相邻的岛屿可以连在一起,所以每个岛屿互相独立。最大面积是1            当输入 [[1,1],[1,0]]时, 对应的地图为:           三块岛屿可以连在一起,最大面积是3            数据范围: 王飞-6

dfs即可
func maxAreaIsland( grid [][]int ) (max int) {     row, col := len(grid), len(grid[0])     var dfs func(int, int) int     dfs = func(x, y int) int {         if x < 0 || x >= row || y < 0 || y >= col || grid[x][y] == 0 {             return 0         }         grid[x][y]=0         return dfs(x+1, y) + dfs(x, y+1) + dfs(x-1, y) + dfs(x, y-1) + 1     }     for x:=0; x < row; x++ {         for y:=0; y < col; y++ {             if grid[x][y] == 1 {                 tmp := dfs(x, y)                 if tmp > max {                     max = tmp                 }             }         }     }     return }

今天 16:37:43 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 ,请问面积最大的岛屿是多少。 例如: 当输入[[1,0],[0,1]]时,对应的地图为: 只有在水平或竖直方向相邻的岛屿可以连在一起,所以每个岛屿互相独立。最大面积是1 当输入 [[1,1],[1,0]]时, 对应的地图为: 三块岛屿可以连在一起,最大面积是3 数据范围:-笔试面试资料

提供最优质的资源集合

立即查看 了解详情