矩阵乘法
题目描述
给定两个nn的矩阵A和B,求AB。
输入
[[1,2],[3,2]],[[3,4],[2,1]]
返回值
[[7,6],[13,14]]
vector<vector<int> > solve(vector<vector<int> >& x,vector<vector<int> >& y)
{
int m = x.size();//A的行数
int p = x[0].size();//A的列数=B的行数
int n = y[0].size();//B的行数
vector<vector<int>> z(m);
for(int i = 0 ; i < m ; i++)
{
for(int j = 0 ; j < n ; j++)
{
int t = 0;
for(int k = 0 ; k < p ; k++)
{
t+=x[i][k]*y[k][j];
}
z[i].push_back(t);
}
}
return z;
}
注意点:
- 只有矩阵的列数和矩阵的行数相同的时候,两个矩阵才能进行乘法
- 矩阵的行数等于矩阵的行数,的列数等于的列数。
- 乘积的第行第列的元素等于矩阵的第行的元素与矩阵的第列对应元素乘积之和。