我为完成这部分作业而烦恼,可以真正使用一些帮助。我需要遍历给定的2d数组,找到与另一个数组相邻的所有相似元素,并进行计数,例如
AA--B
AA--B
-AA--
----C
因此,对于A来说,计数为3。对于B,对于C,计数是3,我只是有点想知道从哪里开始,到目前为止,我已经掌握了
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);
}
}
我需要帮助弄清楚如何跟踪彼此接触的元素的总数(左右,向下,向上,向上),这是另一种相似的元素。
答案 0 :(得分:1)
在每次迭代中,您都可以使用i,j变量“导航”二维平面,并查看是否有任何交互项相同。在每次迭代中,您将检查以下索引以查看它们是否相同:
当然对于所有这些语句,首先应该检查+ 1 / -1是否仍在矩阵的大小内,否则最终将出现超出范围的异常。