牛客题霸 [矩阵乘法] C++题解/答案

题目描述

给定两个nn的矩阵A和B,求AB。

题解:

都学过矩阵相乘把,[i][k]=[i][j]*[j][k]

代码:

class Solution {
   
public:
    /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param a int整型vector<vector<>> 第一个矩阵 * @param b int整型vector<vector<>> 第二个矩阵 * @return int整型vector<vector<>> */
    vector<vector<int> > solve(vector<vector<int> >& a, vector<vector<int> >& b) {
   
        // write code here
        if(a.empty()||b.empty()) return a;
        int len=a.size();
        vector<int> v(len,0);
        vector<vector<int>>newv(len,v);
        for(int i=0;i<len;i++)
            for(int j=0;j<len;j++)
                for(int k=0;k<len;k++)
                    newv[i][k]+=a[i][j]*b[j][k];
        return newv;
    }
};