Для квадратной матрицы вычислите абсолютную разницу между суммами ее диагоналей.

Например, квадратная матрица показана ниже:

1 2 3
4 5 6
9 8 9

Диагональ слева направо = 1 + 5 + 9 = 15. Диагональ справа налево = 3 + 5+ 9 = 17. Их абсолютная разность равна | 15–17 | = 2.

Описание функции

Выполните функцию diagonalDifference в редакторе ниже. Он должен возвращать целое число, представляющее абсолютную диагональную разницу.

diagonalDifference принимает следующий параметр:

  • arr: массив целых чисел.

Формат ввода

Первая строка содержит единственное целое число n, количество строк и столбцов в матрице arr.

Каждая из следующих n строк описывает строку arr [i] и состоит из n целые числа, разделенные пробелами arr [i] [j].

Ограничения

. - 100arr [i] [j] ≤ 100

Формат вывода

Выведите абсолютную разницу между суммами двух диагоналей матрицы как одно целое число.

Пример ввода


11 2 4
4 5 6
10 8 -12

Пример вывода

15

Объяснение

Основная диагональ:

11
   5
     -12

Сумма по главной диагонали: 11 + 5–12 = 4

Вторичная диагональ:

4
   5
10

Сумма по вторичной диагонали: 4 + 5 + 10 = 19
Разница: | 4 –19 | = 15

Примечание: | x | абсолютное значение x

Решение

Используя JavaScript:

function diagonalDifference(arr) {
    var n = arr.length; 
    var d1 = 0;
    var d2 = 0;
  for(var i=0; i<n; i++){
     for(var j=0; j<n; j++){
       // finding the sum of primary diagonal
         if(i === j) {
           d1 += arr[i][j];
         }
       // finding the sum of secondary diagonal
         if(i + j === n - 1){
            d2 += arr[i][j];
         }
      }
  }
  return Math.abs(d1 - d2);
}

Больше контента на plainenglish.io