欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

布洛克 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;
}