开心消消乐

时间:2025-03-14 08:05:45

题目解析

本题是“孤岛”数量问题。

原型题可以参考:LeetCode - 200 岛屿数量_岛屿数量伏城之外-****博客

本题相较于原型题变化在于:“相邻” 可以是八个方向上的。

对于孤岛数量问题,有多种解题思路:

  • 并查集解题,相邻1进行合并,最终连通分量的数量 减去 地图中0的数量 即为题解。
  • 图遍历:遍历地图,如果当前位置是1,则触发下面深搜或广搜,最终触发几次,则为最终需要点击次数
  1. 深搜:从当前位置开始向相邻八个方向深搜,深搜遇到1则反转为0,遇到0则对应分支结束。
  2. 广搜:从当前位置开始向相邻八个方向扩散(广搜),广搜过程遇到1则反转为0,且对应位置入队作为下一轮的扩散源,遇到0则对应位置不入队。

本题数量级稍大,推荐广搜。