解答:与上题思路完全一致,上题求解的是最大岛屿面积,记录最大岛屿面积即可,该题当返回的岛屿面积大于0,岛屿数量就+1;代码如下: def numIslands(grid): m, n, res = len(grid), len(grid[0]), 0 def dfs(grid, i, j):#上下左右递归4种情况,1:边界return 0, 2:海洋,return 0, 3:遍历过的陆地...
我们访问每个网格最多一次。 空间复杂度:O(m×n),栈中最多会存放所有的土地,土地的数量最多为 m×n 块,因此使用的空间为 O(m×n)。 方法三:广度优先搜索 我们把方法二中的栈改为队列,每次从队首取出土地,并将接下来想要遍历的土地放在队尾,就实现了广度优先搜索算法。 classSolution{publicintmaxAreaOfIsla...
岛屿最大面积 给你一个大小为 m x n 的二进制矩阵 grid。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 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,...
Leetcode刷题 509. 斐波那契数列 Fibonacci Number 25:23 Leetcode刷题 680 .验证回文字符串 Ⅱ Valid Palindrome II 09:28 Leetcode刷题 695 .岛屿的最大面积 Max Area of Island 11:31 Leetcode刷题 704. 二分查找 Binary Search 16:49 Leetcode刷题 733. 图像渲染 Flood Fill ...
代码随想录算法训练营第52天 | 图论part03:101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104.建造最大岛屿 第十一章:图论part03 101. 孤岛的总面积 基础题目 可以自己尝试做一做 。 文章讲解 思路 注意孤岛的定义是单元格不接触边缘。 本题要求找到不靠边的陆地面积,那么我们只要从周边找到陆地然后 ...
104.建造最大岛屿 思路: 优化解法: 第一步:一次遍历地图,得出各个岛屿的面积,并做编号记录。 (可以使用map记录,key为岛屿编号,value为岛屿面积) 第二步:再遍历地图,遍历0的方格(因为要将0变成1),并统计该1(由0变成的1)周边岛屿面积,将其相邻面积相加在一起,遍历所有 0之后,就可以得出选一个0变成1之后的...
都是卡码网的题学习记录: 101.孤岛的总面积点击查看代码 # 用深搜,遍历邻接矩阵的四个边,先遍历所有可遍历的岛屿,把这些遍历到的陆地变成海洋 # 那么后续如果还有未遍历的岛就肯定是孤岛 directions = [[1,0],[-1,0],[0,1],[0,-1]] result = 0 def dfs(grids, x, y): grids[x][y] = 0...
101.卡码网【孤岛的总面积】 题目链接 解题过程 本题要求找到不靠边的陆地面积,那么我们只要从周边找到陆地然后 通过 dfs或者bfs 将周边靠陆地且相邻的陆地都变成海洋,然后再去重新遍历地图 统计此时还剩下的陆地就可以了。 dfs #include<iostream>#include<vector>usingnamespacestd;intn,m;intdir[4][2]={1,0...
岛屿的面积是岛上值为 1 的单元格的数目。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0。让我们来探索几种不同的方法来解决这个问题,以找到最大的岛屿面积:方法一、深度优先搜索 想知道网格中每个连通形状的面积,然后取最大值。如果我们在一个土地上,以4个方向探索与之相连...