Для квадратной матрицы вычислите абсолютную разницу между суммами ее диагоналей.
Например, квадратная матрица показана ниже:
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].
Ограничения
. - 100 ≤ arr [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