news 2026/6/23 18:39:19

⭐力扣刷题:岛屿数量

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
⭐力扣刷题:岛屿数量

题目:
给你一个由 ‘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

示例 2:

输入:grid = [
[‘1’,‘1’,‘0’,‘0’,‘0’],
[‘1’,‘1’,‘0’,‘0’,‘0’],
[‘0’,‘0’,‘1’,‘0’,‘0’],
[‘0’,‘0’,‘0’,‘1’,‘1’]
]
输出:3

解析:
本道题我使用了DFS来解题:

1 发现新陆地:每当找到一块未被访问的陆地(‘1’)

2标记沉没:以这块陆地为起点,向四个方向扩散,把所有相连的陆地都"沉没"(标记为’0’)

3 计数岛屿:每发现一次新陆地,就意味着找到了一个新的岛屿

具体代码:

/** * @param {character[][]} grid * @return {number} */varnumIslands=function(grid){letres=0// 岛屿计数器// 遍历整个网格for(leti=0;i<grid.length;i++){for(letj=0;j<grid[0].length;j++){// 发现一块新陆地if(grid[i][j]==='1'){res++// 岛屿数量+1dfs(grid,i,j)// 沉没整个岛屿}}}returnres};// DFS辅助函数:沉没当前岛屿functiondfs(grid,i,j){// 递归终止条件:越界或遇到水if(i<0||j<0||i>=grid.length||j>=grid[0].length||grid[i][j]==='0'){return}// 将当前陆地标记为水(沉没)grid[i][j]='0'// 向四个方向继续探索沉没dfs(grid,i-1,j)// 向上dfs(grid,i+1,j)// 向下dfs(grid,i,j-1)// 向左dfs(grid,i,j+1)// 向右}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 18:39:18

Screenbox媒体播放器:深度解析Windows平台的现代播放解决方案

Screenbox媒体播放器&#xff1a;深度解析Windows平台的现代播放解决方案 【免费下载链接】Screenbox LibVLC-based media player for the Universal Windows Platform 项目地址: https://gitcode.com/gh_mirrors/sc/Screenbox 在数字媒体内容日益丰富的今天&#xff0c…

作者头像 李华
网站建设 2026/6/22 22:27:18

5步重构OpenSTM扫描隧道显微镜项目架构

5步重构OpenSTM扫描隧道显微镜项目架构 【免费下载链接】OpenSTM OpenSTM - 一个扫描隧道显微镜项目&#xff0c;可能用于科研或精密工程领域。 项目地址: https://gitcode.com/gh_mirrors/op/OpenSTM 本文深入解析开源扫描隧道显微镜OpenSTM项目的架构重构方案&#xf…

作者头像 李华
网站建设 2026/6/14 22:02:58

DXVK终极配置手册:Linux游戏性能优化的完整解决方案

DXVK终极配置手册&#xff1a;Linux游戏性能优化的完整解决方案 【免费下载链接】dxvk Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine 项目地址: https://gitcode.com/gh_mirrors/dx/dxvk DXVK作为Linux游戏生态的关键技术&#xff0c;通过将…

作者头像 李华
网站建设 2026/6/23 19:48:49

活字格低代码平台:企业数字化转型的技术架构与实践剖析

活字格低代码平台&#xff1a;企业数字化转型的技术架构与实践剖析 引言 在数字经济时代&#xff0c;企业数字化转型已成为提升竞争力的关键路径。根据工信部、国资委等三部门联合印发的《制造业企业数字化转型实施指南》&#xff0c;工业互联网平台与AI技术的融合应用正成为设…

作者头像 李华
网站建设 2026/6/23 19:50:47

NVIDIA CUDA 13.1权威指南:CUDA Tile驱动下一代GPU编程,性能全面提升

NVIDIA CUDA 13.1权威指南&#xff1a;CUDA Tile驱动下一代GPU编程&#xff0c;性能全面提升 引言 NVIDIA CUDA 13.1的发布&#xff0c;标志着自CUDA平台诞生二十年来最大、最全面的更新。本次发布带来了众多旨在提升性能、推动加速计算的新特性和更新&#xff0c;其中最引人注…

作者头像 李华
网站建设 2026/6/23 2:12:56

Figma中文界面完整指南:快速实现设计工具本地化

Figma中文界面完整指南&#xff1a;快速实现设计工具本地化 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面感到困扰吗&#xff1f;FigmaCN中文插件专门为国内设计…

作者头像 李华