200. 岛屿数量

技术200. 岛屿数量 200. 岛屿数量描述
给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆

200.岛屿数量

描述

给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。

岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。

此外,你可以假设该网格的四条边均被水包围。

链接

200.岛屿数量-力扣(LeetCode)(leetcode-cn.com)

解法:回溯法(思路比较清晰)

类别解决方案{

publiintnumislands(char[][]grid){ 0

int count=0;

int[][]mark=new int[grid。长度][网格[0].长度];

对于(int[]c :标记){ 0

Arrays.fill(c,0);

}

for(inti=0;igrid . LengIti){ 0

for(int j=0;jgrid[i].长度;j ){

如果(标记[I][j]==0网格[I][j]==' 1 '){ 0

DFS(网格,I,j,mark);

计数;

}

}

}

返回计数

}

privatevoidDFS(char[][]grid,intx,inty,int[][]mark){ 0

mark[x][y]=1;

int[]dx={-1,1,0,0 };

int[]dy={0,0,-1,1 };

for(int k=0;k4;k){ 0

intnewDx=dx[k]x;

intnewDy=dy[k]y;

if(new dx0 | | new dx=grid。长度| |新dy0 | |新dy=网格[新dx].长度){ 0

继续;

}

如果(标记[NewDx][NewDy]==0网格[NewDx][NewDy]===' 1 '){ 0

DFS(网格、newDx、newDy、mark);

}

}

}

}

可详细参考

AlgoMooc算法慕课网

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/130346.html

(0)

相关推荐

  • oracle中出现ora-01013错误怎么办

    技术oracle中出现ora-01013错误怎么办小编给大家分享一下oracle中出现ora-01013错误怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们

    攻略 2021年11月12日
  • 学习CSS布局的理由具体有哪些

    技术学习CSS布局的理由具体有哪些学习CSS布局的理由具体有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。这里向大家描述一下CSS布局的10大理由,虽然

    攻略 2021年11月17日
  • MySQL基础常见问题集锦

    技术MySQL基础常见问题集锦 MySQL基础常见问题集锦sql中设置主键中一般规则/不能对部分使用 `distinct` 关键字/SQL客户端写存储过程时, 需要用 `DELIMITER ` 命令设置

    礼包 2021年11月23日
  • 怎么查询mysql的编码格式(mysql编码查看方式)

    技术mysql怎么查询编码这篇文章主要为大家展示了“mysql怎么查询编码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql怎么查询编码”这篇文章吧。

    攻略 2021年12月14日
  • 怎么部署MySQL Group Replication

    技术怎么部署MySQL Group Replication这篇文章主要介绍“怎么部署MySQL Group Replication”,在日常操作中,相信很多人在怎么部署MySQL Group Replication问题上

    攻略 2021年11月18日
  • .NET Core 部署IIS无法启动Hangfire该怎么办

    技术.NET Core 部署IIS无法启动Hangfire该怎么办本篇文章为大家展示了.NET Core 部署IIS无法启动Hangfire该怎么办,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希

    攻略 2021年11月18日