JavaScript 程序查找两个对角线之和的差值
我们将找到方阵两个对角线之和的差值。首先,我们将通过从左上角到右下角遍历矩阵来计算第一条对角线上存在的元素之和。其次,我们将通过从右上角到左下角遍历矩阵来计算第二条对角线上存在的元素之和。最后,我们将从第一条对角线的和中减去第二条对角线的和,以获得两条对角线之间的差值。
方法
要找到方阵两个对角线之和的差值,第一步是定义一个以矩阵作为输入的函数。
接下来,您需要循环遍历矩阵并计算第一条对角线(左上到右下)上存在的元素之和。
同样,计算第二条对角线(右上到左下)上存在的元素之和
从第一条对角线的和中减去第二条对角线的和,并将结果存储在一个变量中。
返回结果变量,该变量将是方阵两个对角线之和的差值。
示例
这是一个 JavaScript 程序,用于查找矩阵两个对角线之和的差值 -
function diagonalDifference(arr) { let leftToRightDiagonalSum = 0; let rightToLeftDiagonalSum = 0; let matrixSize = arr.length; for (let i = 0; i < matrixSize; i++) { leftToRightDiagonalSum += arr[i][i]; rightToLeftDiagonalSum += arr[i][matrixSize - 1 - i]; } return Math.abs(leftToRightDiagonalSum - rightToLeftDiagonalSum); } let matrix = [[1, 2, 3], [4, 5, 6], [9, 8, 9]]; console.log(diagonalDifference(matrix));
解释
函数 diagonalDifference 以一个二维数组(矩阵)作为参数。
声明了两个变量 leftToRightDiagonalSum 和 rightToLeftDiagonalSum 分别存储从左到右的对角线和从右到左的对角线的和。
矩阵的大小存储在 matrixSize 变量中。
一个 for 循环用于迭代矩阵。在每次迭代中,矩阵中的当前值都会添加到两个对角线的和中。
要计算从左到右的对角线和,行和列中相同位置的值会添加到 leftToRightDiagonalSum 中。
要计算从右到左的对角线和,行中与列相同位置的值会从 matrixSize - 1 中减去。这是因为从右到左的对角线与从左到右的对角线方向相反。
使用 Math.abs 函数计算两个对角线和之间的绝对差值,并将其作为结果返回。
声明一个示例矩阵并将其传递给 diagonalDifference 函数,并将结果记录到控制台中。
此程序的输出应为 2,它是示例矩阵两个对角线之和的差值。