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)

相关推荐

  • 洗发水推荐,有哪些蓬松控油的洗发水推荐

    技术洗发水推荐,有哪些蓬松控油的洗发水推荐先说下我的发质吧,我是头皮油,发丝干,到了夏天头皮更容易出油,所以我基本上春夏都喜欢用清爽洗发水推荐、控油比较好,且洗完之后头发比较蓬松的洗发水。推荐几款我用过觉得清洁力强,洗完

    生活 2021年10月29日
  • linux系统查看任务计划程序(linux查看系统中的计划任务命令)

    技术linux系统中计划任务怎么实现这篇文章主要讲解了“linux系统中计划任务怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux系统中计划任务怎么实现”吧

    攻略 2021年12月23日
  • 第四章学习笔记,20191213兰毅达)

    技术第四章学习笔记,20191213兰毅达) 第四章学习笔记(20191213兰毅达)第四章学习笔记一、概述
    本章论述了并发编程,介绍了并行计算的概念,指出了并行计算的重要性;比较了顺序算法与并行算法以

    礼包 2021年10月28日
  • Oracle AWR如何实现数据导入/导出

    技术Oracle AWR如何实现数据导入/导出这篇文章主要介绍Oracle AWR如何实现数据导入/导出,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!LINUX状态下,连接oracle用户:su

    攻略 2021年11月11日
  • 抖音刷粉后果,抖音刷粉丝专业讲解?

    技术抖音刷粉后果,抖音刷粉丝专业讲解?抖音怎么刷粉丝?想要抖音刷粉的小伙伴都会有个疑惑,那就是抖音刷粉后果会严重不?因为抖音公告上有说不允许通过刷粉的方式增加粉丝的,所以大家就比较担心这个抖音刷粉刷赞被发现后果严重不严重

    测评 2021年10月19日
  • Centos6、7操作系统中怎么开启或关闭ICMP协议

    技术Centos6、7操作系统中怎么开启或关闭ICMP协议小编给大家分享一下Centos6、7操作系统中怎么开启或关闭ICMP协议,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有

    攻略 2021年11月15日