首页 > 试题广场 >

岛屿的最大面积

[编程题]岛屿的最大面积
  • 热度指数:3005 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 ,请问面积最大的岛屿是多少。

例如:
当输入[[1,0],[0,1]]时,对应的地图为:

只有在水平或竖直方向相邻的岛屿可以连在一起,所以每个岛屿互相独立。最大面积是1

当输入[[1,1],[1,0]]时,对应的地图为:

三块岛屿可以连在一起,最大面积是3

数据范围:
示例1

输入

[[1,0],[0,1]]

输出

1

说明

如题面解释  
示例2

输入

[[1,1],[1,0]]

输出

3

说明

如题面解释  
示例3

输入

[[0]]

输出

0
头像 空中转体一周半
发表于 2022-05-24 10:32:57
思路:dfs。每次遇到岛屿就把岛屿清零,用size记住清除的次数即可。 public class Solution { int maxSize; int size; public int maxAreaIsland (int[][] grid) { for(i 展开全文
头像 牛客74234309号
发表于 2022-01-23 20:07:36
dfs搜索一块岛屿的面积,求最大值 import java.util.*; public class Solution {     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 &nbs 展开全文
头像 腻o
发表于 2022-05-08 00:03:37
labuladong大佬的python版本,推荐大嘎关注公众号。 二维矩阵的DFS代码框架 def dfs(self,grid,i,j,visited:bool): m, n =len(grid), len(grid[0]) # 越界条件 if 展开全文
头像 认认真真coding
发表于 2022-02-24 12:41:44
岛屿的最大面积 题目描述 给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 ,请问面积最大的岛屿是多少。 方法一:dfs方法 解题思路 对于本题,采用dfs思想进行求解,利用dfs扩展岛屿 展开全文
头像 姐姐的遮阳伞
发表于 2022-03-29 14:10:14
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param grid int整型二维数组 * 展开全文
头像 芜湖韩金轮
发表于 2021-12-20 15:50:08
import java.util.*; public class Solution {     public int maxAreaIsland (int[][] grid)&nb 展开全文
头像 AimerAimer
发表于 2022-02-04 09:02:55
题意:         给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 。   &n 展开全文
头像 牛客657712886号
发表于 2023-10-10 23:16:58
class Solution: def maxAreaIsland(self , grid) : n=len(grid) m=len(grid[0]) result=0 for i in range(n): 展开全文
头像 Ivy2019
发表于 2022-10-03 20:49:20
描述 给定一个用 n*m 矩阵表示的群岛的地图,其中 1 表示岛屿, 0 表示海洋,每个岛屿的水平或竖直方向相邻的岛屿可以视为连在一起的岛屿,每一块岛屿视为面积为 1 ,请问面积最大的岛屿是多少。 例如: 展开全文
头像 CCNWY
发表于 2022-10-19 00:46:30
简单的dfs package main /**  * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可  *  *   * @param grid int整型二维数组& 展开全文

问题信息

难度:
11条回答 1981浏览

热门推荐

通过挑战的用户

查看代码