第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

使用 JavaScript 計(jì)算二維矩陣中對角線和的減法

使用 JavaScript 計(jì)算二維矩陣中對角線和的減法

牧羊人nacy 2022-10-08 15:41:51
我在hackerrank練習(xí),我有一個(gè)二維矩陣的練習(xí)。我在實(shí)施中遇到錯(cuò)誤11 2 44 5 610 8 -12我需要對主對角線求和: 11 + 5 - 12 = 4 在另一個(gè)對角線 4 + 5 +10 = 19 最后 19 - 4 = 15function diagonalDifference(arr) {     var sumRigth = 0;     var sumLeft = 0;     var array = new Array();     for(var i = 0; i < arr.length ; i++ ){          for(var j = 0; j < arr[i].length; j++){               array.push(arr[i][j]);          }     }     for (var i = 0 ; i < array.length; i = i + 4){          sumRigth += array[i];     }     for (var j = 2 ; j < array.length - 1 ; j = j + 2 ){          sumLeft += array[j];     }     return sumLeft - sumRigth;}
查看完整描述

3 回答

?
30秒到達(dá)戰(zhàn)場

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊

你可以試試這個(gè)


function sumDiagonal(matrix) {


    let firstSum = 0, secondSum = 0;

    for (let row = 0; row < matrix.length; row++) {

        firstSum += matrix[row][row];

        secondSum += matrix[row][matrix.length - row - 1];

    }

    console.log(firstSum + ' ' + secondSum);

    console.log(firstSum-secondSum);

}


sumDiagonal([[11,2,4],[4,5,6],[10,8,-12]]);


查看完整回答
反對 回復(fù) 2022-10-08
?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

我不認(rèn)為你在正確的道路上。一個(gè)通用的解決方案是首先對從左上角到右下角的元素求和(此處另存為sumRigth)。然后,對從右上角到左下角的元素求和(此處另存為sumLeft)。我理所當(dāng)然地認(rèn)為數(shù)組包含數(shù)字并且大小相同。


function diagonalDifference(array) {

     let sumRigth = 0, sumLeft = 0, count = 0;

     for (var i = 0 ; i < array.length; i++){

          sumRigth += array[i][count++];

     }

     count = array.length-1;

     for (var i = 0; i < array.length; i++){

          sumLeft += array[i][count--];

     }

     return sumLeft - sumRigth;

}


let arr = [

     [11, 2, 4],

     [4, 5, 6],

     [10, 8, -12]

];

console.log(diagonalDifference(arr));


查看完整回答
反對 回復(fù) 2022-10-08
?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊

您可以采用一個(gè)循環(huán)并直接獲得兩個(gè)值進(jìn)行求和。


function getValue(matrix) {

    let sum = 0;


    for (let i = 0, l = matrix.length; i < l; i++)

        sum += matrix[i][l - i - 1] - matrix[i][i];


    return sum;

}


console.log(getValue([[11, 2, 4], [4, 5, 6], [10, 8, -12]]));


查看完整回答
反對 回復(fù) 2022-10-08
  • 3 回答
  • 0 關(guān)注
  • 211 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號