200. 岛屿数量(中等)
给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。
此外,你可以假设该网格的四条边均被水包围。
示例 1:
输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"] ] 输出:1
419. 甲板上的战舰(中等)
给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回在甲板 board 上放置的 战舰 的数量。
战舰 只能水平或者垂直放置在 board 上。换句话说,战舰只能按 1 x k(1 行,k

这篇博客介绍了如何利用深度优先搜索(DFS)算法解决两种不同的编程问题:计算二维网格中的岛屿数量和找出甲板上战舰的个数。对于岛屿问题,从遇到的陆地('1')开始,遍历其相邻的陆地并将其标记为水('0'),避免重复计数。对于战舰问题,由于战舰不能相邻,只需检查每个战舰的左上顶点是否满足条件即可。这两种方法都提供了简洁的代码实现。
最低0.47元/天 解锁文章
663

被折叠的 条评论
为什么被折叠?



