题目解析
本题可以使用“广度优先搜索”解题。
首先,根据输入得到一个地图矩阵。
然后,定义一个visited集合,用于记录访问过的点的坐标,或者将访问过的点赋值为0,避免一些点被二次访问。
之后,开始遍历矩阵的每一个元素,如果
- 该元素的值>0(代表有价值)
- 该元素位置未被访问过
那么就可以从该点向上、下、左、右四个方向开始广搜。
本题不建议使用深度优先搜索(基于递归),因为本题的地图数量级300*300,使用深度优先搜索可能会Stack Overflow异常。或者使用基于自定义栈的深度优先搜索。比如博客中C语言的解法。
本题的输入获取是不定行输入获取,具体可以参考:

已下架不支持订阅

809

被折叠的 条评论
为什么被折叠?



