Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在二维数组中选择相同值的区域_Java_Arrays_Algorithm - Fatal编程技术网

Java 在二维数组中选择相同值的区域

Java 在二维数组中选择相同值的区域,java,arrays,algorithm,Java,Arrays,Algorithm,例如,我有一个2D数组,如下所示: 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 X X X X X 0 0 X X X X 0 X 0 X 0 0 0 X X 0 0 0 0 X 现在,如果我选择随机位置,例如位置[4,2],我想得到如下数组: 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 X X X X X 0 0 X X X X 0 X 0 X 0 0 0 X X 0 0 0

例如,我有一个2D数组,如下所示:

1 1 1 0 0
0 0 1 1 1
1 0 1 0 1
0 0 0 1 1
0 0 0 0 1
X X X X X
0 0 X X X
X 0 X 0 X
0 0 0 X X
0 0 0 0 X
现在,如果我选择随机位置,例如位置[4,2],我想得到如下数组:

1 1 1 0 0
0 0 1 1 1
1 0 1 0 1
0 0 0 1 1
0 0 0 0 1
X X X X X
0 0 X X X
X 0 X 0 X
0 0 0 X X
0 0 0 0 X

对这个算法有什么想法吗?不管用哪种语言。我只需要算法。

我想您正在这里寻找洪水填充算法。因此,给定一个点,您需要检查左、上、右、下和对角线,如果它们的值相同,则递归(或将其放入队列)

实现使用队列以防止堆栈溢出错误顺便说一句这只是洪水填充算法的一个实现,您需要根据您的情况稍微修改一下。不想剥夺你所有的乐趣:)