嗨我试图让所有邻居或相邻的值相等,在二维数组中我搜索了很多,但答案对我来说不够 例如:
scalaOrganization := "org.typelevel"
scalaVersion := "2.12.3-bin-typelevel-4"
libraryDependencies += "com.chuusai" %% "shapeless" % "2.3.2"
总相邻:4
`|1|0|1|`
`|0|1|1|`
`|0|1|0|`
答案 0 :(得分:0)
这是一个有效的解决方案:
int[][] array = {{1, 0, 1}, {0, 1, 1}, {0, 1, 0}};
int rowLimit = array.length;
int columnLimit = array[0].length;
int actualValue;
int sum = 0;
for(int i = 0; i < rowLimit; i++) {
for(int j = 0; j < columnLimit; j++) {
actualValue = array[i][j];
for(int x = Math.max(0, i-1); x <= Math.min(i+1, rowLimit-1); x++){
for(int y = Math.max(0, j-1); y <= Math.min(j+1, columnLimit-1); y++){
if(x != i || y != j){
if(actualValue == array[x][y] && (Math.abs(x-i) + abs(y-j) == 1))
sum++;
}
}
}
}
}
System.out.println("Total adjacent: " + sum/2);
答案 1 :(得分:0)
这是另一种算法(在我看来比你的更简单):
g++ `pkg-config --cflags --libs gtk+-2.0`