我們將用 JavaScript 編寫一個程序來有效計算矩陣對角線的總和。為此,我們將利用循環結構來迭代矩陣并添加位于與對角線對應的位置的元素。通過利用矩陣的數學特性,我們可以最大限度地減少求對角線之和所需的計算量。通過這種方法,我們將能夠以計算有效的方式處理各種大小的矩陣。
方法
要計算矩陣的對角線之和,我們需要將主對角線(左上到右下)和次對角線(右上到下)上的元素值相加-左)
可以使用雙循環方法,其中一個循環遍歷行,第二個循環遍歷列以訪問對角線上的元素。
我們可以保留兩個變量來分別存儲主對角線上和次對角線上的元素之和。
要訪問主對角線上的元素,我們需要添加當前的行索引和列索引,而對于次對角線上的元素,我們需要從行索引中減去列索引。
李>
最后,我們返回兩個變量的總和作為結果,這將給出矩陣兩個對角線上元素的總和。
示例
這是一個有效計算矩陣對角線之和的 JavaScript 程序示例 –
function diagonalSum(matrix) { let sum = 0; let n = matrix.length; for (let i = 0; i < n; i++) { sum += matrix[i][i]; sum += matrix[i][n - i - 1]; } if (n % 2 !== 0) { let mid = Math.floor(n / 2); sum -= matrix[mid][mid]; } return sum; } const matrix = [[1, 2, 3],[4, 5, 6], [7, 8, 9]]; console.log(diagonalSum(matrix));
登錄后復制
說明
初始化變量sum來存儲對角線之和,初始化變量n來存儲矩陣中的行數。
使用 for 循環迭代矩陣,將對角線的值添加到 sum 中。 對于每次迭代 i,我們添加主對角線 matrix[ i][i] 和反對角矩陣[i][n – i – 1]。
如果矩陣的行數是奇數,我們減去中間的值matrix[mid][mid](其中mid是中間行索引,使用 Math.floor(n / 2)) 計算,因為它會被添加兩次。
返回總和的值。
該算法的時間復雜度為 O(n),使其成為計算矩陣對角線和的有效解決方案。
以上就是JavaScript 程序可有效計算矩陣對角線之和的詳細內容,更多請關注www.92cms.cn其它相關文章!