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)

相关推荐

  • CF1506C Double-ended Strings 题解

    技术CF1506C Double-ended Strings 题解 CF1506C Double-ended Strings 题解CF1506C Double-ended Strings 题解Conte

    礼包 2021年12月16日
  • 2021-2022-1 20211408 《信息安全专业导论》第八周学习总结

    技术2021-2022-1 20211408 《信息安全专业导论》第八周学习总结 2021-2022-1 20211408 《信息安全专业导论》第八周学习总结2021-2022-1 2021140

    礼包 2021年11月9日
  • css样式的继承性、层叠性 、优先级有什么作用

    技术css样式的继承性、层叠性 、优先级有什么作用这篇文章主要讲解了“css样式的继承性、层叠性 、优先级有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css样

    攻略 2021年12月10日
  • ios15 beta2什么时候出(xsmax ios15建议更新吗)

    技术iOS 9适配中会遇到的问题有哪些这篇文章主要介绍iOS 9适配中会遇到的问题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、NSAppTransportSecurityiOS9让所有

    攻略 2021年12月24日
  • 如何使用expdp/impdp导入指定表空间

    技术如何使用expdp/impdp导入指定表空间小编给大家分享一下如何使用expdp/impdp导入指定表空间,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起

    攻略 2021年11月13日
  • Windows下怎么安装Frida环境

    技术Windows下怎么安装Frida环境今天就跟大家聊聊有关 Windows下怎么安装Frida环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Window

    攻略 2021年10月23日