Есть матрицы 3 на 3:
[0, 0, 1] [0, 1, 0]
[0, 0, 0] [0, 0, 0]
[0, 0, 0] [0, 0, 0] ... ... ...
Мне нужно пройтись по всем таким матрицам и определить матрицы, у которых сумма по строкам/столбцам/диагоналям совпадают. Решил делать через reduce:
List<Object[]> resolvedMatrices = matrices.stream().reduce((a, b) -> {
Object temp = new Object();
if(a[0][0] + a[0][1] + a[0][2] == b[0][0] + b[0][1] + b[0][2]) {
temp = new Object[]{a, b};
}
return temp;
});
Но что-то фигня какая-то у меня получается:
bad return type in lambda expression: Object cannot be converted to int[][];
Что я делаю не так?
UPD:
Изменил типы данных.
List<int[][]> resolvedMatrices = matrices.stream().reduce((a, b) -> {
int[][] temp = {};
if(a[0][0] + a[0][1] + a[0][2] == b[0][0] + b[0][1] + b[0][2]) {
temp = new int[a][b]; // ??????
}
return temp;
});
если вы хотите, не выкладывая код, то могу подсказать, как написать, чтобы это просто скомпилировалось. устроит ли вас, понятия не имею...
Optional<int[][]> resolvedMatrices = matrices.stream().reduce((a, b) -> {
int[][] temp=null;
if (a[0][0] + a[0][1] + a[0][2] == b[0][0] + b[0][1] + b[0][2]) {
}
return temp;
});
код в условном блоке реализуйте по своему усмотрению
лучше напишите таким образом
private boolean arrayCalc (int[][] array){
int sumArray [] = new int [array.length*2];
boolean result = true;
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
sumArray [i]+=array[i][j];
sumArray [array.length+j]+=array[i][j];
}
}
for (int i = 1; i < sumArray.length; i++) {
if (sumArray[i]!=sumArray[i-1]) {
result = false;
break;
}
}
return result;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Доброго времени суток! Ребята подскажите где можно найти драйвер для ButtonsPanel (Consolidateresourses)
Каждый раз когда берусь за RxJava я это забрасываю, так как не понимаю, зачем писать больше кодаКасательно Flowable Элементарный Hello world выглядит...
Нужно сделать правильный расчёт для построения кривой БезьеКривая не должна ложиться на компоненты, а должна огибать их