布洛克 NC143 矩阵乘法 [Medium Matrix C++/Java/Go/PHP] - PHP 参考答案
最编程
2024-04-27 17:07:30
...
<?php
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param a int整型二维数组 第一个矩阵
* @param b int整型二维数组 第二个矩阵
* @return int整型二维数组
*/
function solve( $a , $b )
{
/*
矩阵算法在图像处理、神经网络、模式识别等领域有着广泛的用途。
在矩阵乘法中,A矩阵和B矩阵可以做乘法运算必须满足A矩阵的列的数量等于B矩阵的行的数量。
运算规则:A的每一行中的数字对应乘以B的每一列的数字把结果相加起来。
参考下面的链接
https://blog.****.net/Lyon_yong/article/details/129474027
https://blog.****.net/why1472587/article/details/125080048
*/
$arows = count($a);
$acols = count($a[0]);
$brows=count($b);
$bcols =count($b[0]);
$c = []; //c=a*b c的行数=a的行数 c的列数=b的列数
for($row=0;$row<$arows;$row++){
for($col=0;$col<$bcols;$col++){
//A的每一行中的数字对应乘以B的每一列的数字把结果相加起来。
$cursum = 0;
for($idx=0;$idx<$acols;$idx++){
$cursum+= $a[$row][$idx]*$b[$idx][$col];
}
$c[$row][$col] = $cursum;
}
}
return $c;
}