Как найти сумму элементов диагоналей в 2d ArrayList? - PullRequest
1 голос
/ 01 ноября 2019

Я не знаю, как получить доступ к элементам в 2D ArrayList. Мне нужно найти сумму диагоналей в 2D ArrayList.

List<List<Integer>> arr

Ответы [ 2 ]

1 голос
/ 01 ноября 2019

Я вижу, вы использовали диагонали в своем вопросе. Матрица имеет две диагонали: ведущая диагональ (\) и антидиагональ (/).

Предположим, ваша матрица, 2d-массив или2d arrayList Независимо от того, что вы назвали, это матрица i * i, которую вы можете вычислить в цикле:

int leadingDiagonalSum = 0, antiDiagonalSum = 0;
int size = arr.size();

for (int i = 0; i < size; i++) {
    leadingDiagonalSum += arr.get(i).get(i);
    antiDiagonalSum += arr.get(i).get(size - i - 1);
}

Вышеприведенные коды легко понять. Если вам действительно нужна сумма диагоналей , вы можете добавить две переменные.

Однако вы должны проверить size, если это нечетное число, вы должны вычесть центральный элемент один раз после суммы.

0 голосов
/ 01 ноября 2019
    int diagnolSum = 0;

    for (int i = 0; i < arr.size(); i++) {
        diagnolSum += arr.get(i).get(i);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...