最大岛屿面积


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 4M

Author:
Problem type
Allowed languages
C, C++

🏝️ 最大岛屿面积

📝 题目描述

给定一个大小为 \(m \times n\) 的二进制矩阵 grid,其中:

  • 数字 1 表示陆地(land)
  • 数字 0 表示水域(water)

一个 岛屿 是由一组 值为 1 的格子 构成的区域,这些格子通过上下左右(四个方向)相邻连接在一起。你可以假设网格的四条边全都被水包围。

岛屿的面积 是岛上格子中值为 1 的数量。

请返回网格中最大的岛屿面积。如果没有岛屿,返回 0

输入格式

第一行输入两个整数n,m,分别表示矩阵的行和列 从第二行开始到第n+1行,分别表示二进制矩阵的第i行的数据

输出格式

输出一个整数,表示最大的岛屿的面积


📘 示例

示例 1:
输入:
8 13
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

解释:
最大岛屿面积为 6。注意答案不是 11,因为岛屿的连接只能是**上下左右(四个方向)**。
示例 2:
输入:
1 8
0 0 0 0 0 0 0 0

输出:
0

🔒 约束条件

  • \(m = \text{grid.length}\)
  • \(n = \text{grid[i].length}\)
  • \(1 \leq m, n \leq 50\)
  • grid[i][j] 的取值只能是 01


Comments

There are no comments at the moment.