最近我学习了BFS和DFS及其应用程序。一旦常见应用程序在网格中找到岛屿。我已经开始工作并了解它是如何工作的。但是,我对一个非常令人难以置信的场景进行了研究。那就是,如何才能找到岛内的湖泊?例如:
00000000000
00111111000
01110011100
01100000110
01110011100
01111111100
00000000000
1s周围的0可归类为海洋。
00000000000
00111111000
01110011100
01100000000
01110011100
01111111100
00000000000
在上面的示例中,没有湖,与第一个网格不同。
我目前正在做的是使用DFS / BFS查找所有连接的0。验证这些0被1包围已经成为问题。我可以就此得到一些指导吗?
提前致谢。
答案 0 :(得分:1)
对于其中一个单元格而言,零的连通分量不是湖泊,这就是:
从第一个/最后一行/列的所有单元格执行DFS / BFS。根据定义,其余未访问的细胞必须属于湖泊。
答案 1 :(得分:0)
此代码以这种格式为您提供湖泊及其坐标:
{x: '', y: '', coords: {top: '', right: '', bottom: '', left: ''}}
这个坐标是1
的{{1}}坐标{/ 1};
我只需使用此代码解决 fun 。但这是真的!
0