Я пытаюсь преобразовать 2D-список в 2D-массив ArrayList в Java Затем я преобразую 2D-массив ArrayList в 2D Array и реализую циклы для возврата абсолютной разности 2-х диагоналей матрица.
Как мне преобразовать 2D ArrayList arr
в 2D ArrayList?
Вот моя работа по преобразованию входного списка в ArrayList:
public static int diagonalDifference(List<List<Integer>> arr) {
//first: 2D List --> 2D ArrayList
int[][] a = new int[arr.size()][];
for (int i=0; i<arr.size(); i++) {
List<Integer> row = arr.get(i);
a[i] = row.toArray(new int[row.size()]);
//second: 2D ArrayList --> int[][]
//third: nested for loop through int[][]to difference between diagonals of 2d array
}
Вот мой полный код.
public static int diagonalDifference(List<List<Integer>> arr) {
List<List<Intger>> arrList = new ArrayList<>();
int[][] a = new int[arr.size()][];
for (int i=0; i<arr.size(); i++) {
List<Integer> row = arr.get(i);
a[i] = row.toArray(new int[row.size()]);
}
int pri = 0;
int sec =0;
for(int i=0; i<a.length; i++) {
for(int j=0; j <a.length; j++) {
if (a[i] == a[j]) {
pri += a[i];
}
if (i == a.length - j - 1) {
sec += a[i];
}
}
}
return Math.abs(pri - sec);
}