我有一个N*N矩阵。现在我想知道这个矩阵的对角线差异。这个解决方案的最佳方法是什么?
我正在尝试使用给定的方法:
就这样3*3矩阵说它是:
11 15 85
66 72 21
14 21 47
对角线简单公式为:
firstD= (11+72+47) = 130
secondD = (85+72+14)= 171
diagonalDiff = |firstD - secondD| = |130-171| = 41
如果我计算每一行(例如第一行)来找出答案firstD
(第一行的第一个值+第二行的第二值+第三行第三个值+..)。这是我的想法。
谁能告诉我最好的方法?
尝试这个:
$arr = array(
array(11, 15, 85),
array(66, 72, 21),
array(14, 21, 47),
);
$arrDiag = count($arr);
$firstD = 0;
$secondD = 0;
$i = 0;
for($j = 0; $j < $arrDiag; $j++){
$firstD += $arr[$i++][$j];
$secondD += $arr[$arrDiag - $i][$j];
}
echo abs($firstD - $secondD);//41
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)