1905. 统计子岛屿数量

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

给定两个二进制矩阵grid1和grid2,表示陆地和水域,判断grid2中的岛屿是否是grid1中岛屿的子岛屿。使用DFS遍历grid2中的岛屿,检查对应的grid1中的岛屿是否都是陆地。返回满足子岛屿条件的岛屿数量。

🎯

关键要点

  • 给定两个二进制矩阵grid1和grid2,表示陆地和水域。
  • 岛屿是连接的1的组,任何超出矩阵的单元格被视为水域。
  • grid2中的岛屿被视为子岛屿,如果grid1中有一个岛屿包含grid2中该岛屿的所有单元格。
  • 返回grid2中被视为子岛屿的岛屿数量。
  • 使用深度优先搜索(DFS)遍历grid2中的岛屿,检查对应的grid1中的岛屿是否都是陆地。
  • 遍历grid2中的每个单元格,识别岛屿并进行DFS探索。
  • 在DFS过程中检查grid1中对应的单元格是否都是陆地,如果是,则该岛屿为子岛屿。
  • 每找到一个满足子岛屿条件的岛屿,计数加一。
  • 时间复杂度为O(m × n),其中m为行数,n为列数。
➡️

继续阅读