news 2026/6/10 17:24:29

⭐力扣刷题:岛屿数量

作者头像

张小明

前端开发工程师

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/10 12:21:57

GuoFeng3古风AI绘画模型:快速入门与创作指南

GuoFeng3古风AI绘画模型&#xff1a;快速入门与创作指南 【免费下载链接】GuoFeng3 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/GuoFeng3 在AI艺术创作蓬勃发展的今天&#xff0c;GuoFeng3模型以其独特的中国古风风格和精美的2.5D质感&#xff0c;为数字…

作者头像 李华
网站建设 2026/6/10 10:52:16

Redpill Recovery:群晖引导工具的终极解决方案

Redpill Recovery&#xff1a;群晖引导工具的终极解决方案 【免费下载链接】rr Redpill Recovery (arpl-i18n) 项目地址: https://gitcode.com/gh_mirrors/rr2/rr 在个人NAS搭建领域&#xff0c;选择合适的引导工具往往决定了系统稳定性和维护效率。Redpill Recovery&am…

作者头像 李华
网站建设 2026/6/10 12:34:54

Java智能客服系统实战指南:1小时搭建企业级AI对话平台

还在为高昂的智能客服部署成本发愁吗&#xff1f;传统AI客服系统动辄数十万的硬件投入和复杂的运维门槛&#xff0c;让众多中小企业望而却步。现在&#xff0c;通过纯Java技术栈&#xff0c;你只需1小时就能拥有媲美商业级方案的智能客服能力。本文将为你详细解析如何快速部署和…

作者头像 李华
网站建设 2026/6/10 12:31:35

XPay个人免签收款支付系统实战指南

XPay个人免签收款支付系统实战指南 【免费下载链接】xpay Exrick/xpay 是一个用于集成多种支付方式的 SDK。适合在移动应用和网站中实现支付功能。特点是提供了丰富的支付方式、简洁易用的 API 和良好的兼容性。 项目地址: https://gitcode.com/gh_mirrors/xp/xpay 在现…

作者头像 李华
网站建设 2026/6/10 12:24:08

云手机PC键盘输入实现原理

在PC端通过云手机客户端远程操作云手机时&#xff0c;会面临输入方式不匹配的问题&#xff1a;当在云手机界面点击输入框&#xff0c;系统会触发Android自带的虚拟键盘&#xff0c;该类键盘主要针对触摸屏设计&#xff0c;在PC端难以高效使用。而PC用户通常更习惯于使用实体键盘…

作者头像 李华
网站建设 2026/6/10 12:29:55

告别手动输入:用Ocrs轻松实现图像文字识别

告别手动输入&#xff1a;用Ocrs轻松实现图像文字识别 【免费下载链接】ocrs Rust library and CLI tool for OCR (extracting text from images) 项目地址: https://gitcode.com/gh_mirrors/oc/ocrs 还在为从图片中提取文字而烦恼吗&#xff1f;&#x1f629; 无论是扫…

作者头像 李华