例如下图中红色方框内的海洋格子,上边、左边都与岛屿相邻,我们可以计算出它变成陆地之后可以连接成的岛屿面积为 7+1+2=10。 然而,这种做法可能遇到一个问题。如下图中红色方框内的海洋格子,它的上边、左边都与岛屿相邻,这时候连接成的岛屿面积难道是 7+1+77+1+7 ?显然不是。这两个 7 来自同一个岛屿,所以填海造陆之后得到的岛屿
在力扣(LeetCode)平台上,岛屿数量问题是一道经典的算法题目,它要求我们计算一个由’1’(代表陆地)和’0’(代表水)组成的二维网格中的岛屿数量。岛屿的定义是被水包围且只能通过水平方向或竖直方向上相邻的陆地连接形成的区域。本文将深入探讨这个问题,并通过广度优先搜索(BFS)和深度优先搜索(DFS)两种算法来求解。 ...
在力扣中这类题目有一系列变种,如下: 力扣leetcode-cn.com/problems/surrounded-regions/ 力扣leetcode-cn.com/problems/number-of-islands/针对岛屿/网格问题,我们一般采取dfs方法。dfs常见于二叉树中,在二叉树中,我们常见以下代码: void dfs(TreeNode root) { //base case; if(root==null) return ;...