Java 在二维数组中查找相邻元素并对其进行计数。
我不知道该怎么做这部分作业,真的需要一些帮助。我需要在给定的2d数组中循环,找到与另一个数组相邻的所有相似元素,并进行计数Java 在二维数组中查找相邻元素并对其进行计数。,java,arrays,for-loop,recursion,multidimensional-array,Java,Arrays,For Loop,Recursion,Multidimensional Array,我不知道该怎么做这部分作业,真的需要一些帮助。我需要在给定的2d数组中循环,找到与另一个数组相邻的所有相似元素,并进行计数 AA--B AA--B -AA-- ----C 所以计数应该是3,一个是B,一个是C,我只是需要知道从哪里开始 public static int howManyOrganisms(char[][] image){ int count = 0; for (int i = 0; i < image.length; i++) { for
AA--B
AA--B
-AA--
----C
所以计数应该是3,一个是B,一个是C,我只是需要知道从哪里开始
public static int howManyOrganisms(char[][] image){
int count = 0;
for (int i = 0; i < image.length; i++) {
for (int j = 0; j < image[i].length; j++) {
if(image[i][j] != '-') {
count++;
}
System.out.println();
}
return howManyOrganisms(image, count);
}
}
publicstaticinthowmanyorganism(char[]]image){
整数计数=0;
对于(int i=0;i
我需要帮助找出如何跟踪彼此接触的元素总数(左、右、下、上)是另一个类似的元素 在每次迭代中,您可以使用i,j变量“导航”2d平面,并查看任何交互项是否相同。在每次迭代中,您将检查以下索引,以查看它们是否相同:
- 图像[i-1][j](向上一行)
- 图像[i+1][j](向下一行)
- 图[i][j-1](左一)
- 图[i][j+1](右一)
当然,对于所有这些语句,您首先应该检查+1/-1是否仍在矩阵的大小内,否则您最终将出现越界异常。您的思路正确:1)目标:计数#/相邻元素。2) 定义一个函数。示例:
howManyOrganisms()
。3) 创建一些循环来检查每行中的每一列。4) 对于每个元素,检查上、下、右和左。如果与一个或多个相邻,则添加到计数。5) 优化(您是否需要检查第一行的“向上”或最后一列的“右”等)。似乎是classis的“洪水填充”算法修改。检查