这是例子(算上黑色的):
输入:
输出:
5 4 // 5 groups (4 squares each)
1 1 // 1 group containing 1 square
目前,我想不出比迭代更痛苦的事情了。是否有可能以递归方式获得这些组? 谢谢
最佳答案
将所有黑色方 block 设置为节点。黑色方 block 之间的连接(如果方 block 彼此相邻)将是一条边。
这给你一个 graph .
A DFS在图表中将为您提供所有组。请注意,DFS 本质上是递归的。
关于arrays - 如何计算二维数组中相同单元格的组数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12902086/