给你一个大小为 m x n 的二进制矩阵 grid。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 岛屿的面积是岛上值为 1 的单元格的数目。 计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。 上图的非蓝色块并且表示1的为岛屿
区块链毕设网qklbishe.com为您提供问题的解答
给你一个大小为 m x n 的二进制矩阵 grid。
岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。
岛屿的面积是岛上值为 1 的单元格的数目。
计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。
上图的非蓝色块并且表示1的为岛屿
import java.util.Scanner; /** * @Author xujiasheng * @Date 2023/10/26 0026 16:40 * @Description 岛屿的最大面积 */ public class Dydzdmj { static int currentSize = 0; public static void main(String[] args) { Scanner in = new Scanner(System.in); int maxSize = 0; int m = in.nextInt(); int n = in.nextInt(); int [][] grid = new int[m][n]; for (int i = 0; i < m; i++) { for (int j =0; j < n; j++) { grid[i][j] = in.nextInt(); } } for (int i = 0; i < m; i++) { for (int j =0; j < n; j++) { if (grid[i][j] != 0) { count(grid,i,j,m,n); } if (currentSize > maxSize) { maxSize = currentSize; } //计数清零,重新计数 currentSize = 0; } } System.out.println(maxSize); } static void count (int [][] grid,int i,int j,int m,int n){ currentSize++; grid[i][j] = 0; //上 if ((i-1)>=0 && grid[i-1][j] != 0){ count(grid,i-1,j,m,n); } //下 if ((i+1)<=m-1 && grid[i+1][j] != 0){ count(grid,i+1,j,m,n); } //左 if ((j-1)>=0 && grid[i][j-1] != 0){ count(grid,i,j-1,m,n); } //右 if ((j+1)<=n-1 && grid[i][j+1] != 0){ count(grid,i,j+1,m,n); } } }
递归清零同时计数
10:03
以上就是关于问题给你一个大小为 m x n 的二进制矩阵 grid。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 岛屿的面积是岛上值为 1 的单元格的数目。 计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。 上图的非蓝色块并且表示1的为岛屿的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 给你一个大小为 m x n 的二进制矩阵 grid。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 岛屿的面积是岛上值为 1 的单元格的数目。 计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。 上图的非蓝色块并且表示1的为岛屿
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 给你一个大小为 m x n 的二进制矩阵 grid。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 岛屿的面积是岛上值为 1 的单元格的数目。 计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。 上图的非蓝色块并且表示1的为岛屿
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 给你一个大小为 m x n 的二进制矩阵 grid。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 岛屿的面积是岛上值为 1 的单元格的数目。 计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。 上图的非蓝色块并且表示1的为岛屿
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 给你一个大小为 m x n 的二进制矩阵 grid。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 岛屿的面积是岛上值为 1 的单元格的数目。 计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。 上图的非蓝色块并且表示1的为岛屿