我的输入是一个0和1的文本文档网格,然后我将其放入二维整数数组中。
对我来说,目标是在网格中"映射"1。我必须确定有多少组 1,每个组有多少组,并创建一个标记了 1 组的输出文本。
例如,我在文本中收到以下内容:
1 0 1 0 0 1 0
1 1 1 0 1 1 0
1 0 0 0 1 0 0
0 0 1 0 0 0 1
0 0 1 1 1 1 1
我总共有三个组,然后必须像这样吐出来:
1 0 1 0 0 2 0
1 1 1 0 2 2 0
1 0 0 0 2 0 0
0 0 3 0 0 0 3
0 0 3 3 3 3 3
在执行递归时,我创建了一个二维整数 ArrayList,以便可扩展到组和组成员。我之前想过,如果我只是将第二组的所有"成员"更改为 2,那么它们应该在原始二维数组中发生变化,因为数组是通过引用传递的。
我错了吗?如果还需要提供任何其他信息,请告诉我。
提前谢谢。
编辑:如果使用 ArrayList.contains() 函数,似乎我有一个问题,即它是否包含实际的"1",而不是它是否包含 int[][] 数组[0][1]。
谢谢!
很像区域标记算法。也许这会有所帮助