这个题做得很乱,主要是忘了矩阵相乘的规则,学完linear algebra再也没遇到过这种知识,整个linear algebra到现在为止就能记住个bra。。
复习了一下,除了navie approach还是不会做。
看TAG是MAP。。依然不会。。
看答案。原来是为了省却0无意义操作。。。
那就是矩阵A的某个点是0的时候,就做乘法了,因为反正是0,对最后结果也无非是+0,没意义。。
public class Solution {
public int[][] multiply(int[][] A, int[][] B)
{
if(A[0].length != B.length) return null;
int[][] res = new int[A.length][B[0].length];
for(int i = 0; i < A.length;i++)
{
for(int j = 0; j < B.length;j++)
{
if(A[i][j] != 0)
{
for(int k = 0; k < B[0].length; k++)
{
res[i][k] += A[i][j] * B[j][k];
}
}
}
}
return res;
}
}
不是太明白MAP是干什么用的。。。
先这样吧,这个题做的好烦。