java - 在二维数组中查找相邻元素并计算它们。
问题描述
我很难为我的这部分作业做些什么,并且真的可以使用一些帮助。我需要遍历给定的二维数组并找到与另一个相邻的所有相似元素并对其进行计数,例如
AA--B
AA--B
-AA--
----C
所以计数将是 3 一个作为 A 一个用于 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);
}
}
我需要帮助弄清楚如何跟踪彼此接触的元素总数(左、右、下、上)是另一个相似的元素。
解决方案
在每次迭代中,您可以使用 i,j 变量“导航”二维平面并查看是否有任何交互项相同。在每次迭代中,您将检查以下索引以查看它们是否相同:
- 图像[i-1][j](上一排)
- image[i+1][j](下一行)
- 图像[i][j-1](左一)
- image[i][j+1](右一)
当然,对于所有这些语句,首先您应该检查 +1/-1 是否仍在矩阵的大小范围内,否则最终会出现超出范围的异常。
推荐阅读
- react-native - 如何更改 FlatList 行的背景颜色?
- git-push - 无法通过 CMD 将我的项目推送到 github 存储库
- javascript - Flask:对于使用 Javascript DataForm 上传的 zip 文件,请求文件为空
- c# - 在调用并完成另一个方法后,是否有继续使用方法的过程?
- postgresql - Docker中的Postgres - 无法设置时区
- android - Firebase 查询基于另一个查询的结果
- javascript - 对象方法是否通过引用或值传递给Javascript中的全局变量
- spring - spring3 MVC 项目中的 springfox-swagger2
- javascript - node.js 安装和 npm 命令
- flutter - 如何在 Flutter/Dart 中获取数字的小数位