DESC:
题目描述
给定两个n*n的矩阵A和B,求A*B。
示例1
输入
[[1,2],[3,2]],[[3,4],[2,1]]
返回值
[[7,6],[13,14]]
备注:
,初始两个矩阵中每个数 0≤aij≤1000≤a_{ij}≤1000≤aij≤100
CODE:
JAVA:
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param a int整型二维数组 第一个矩阵 * @param b int整型二维数组 第二个矩阵 * @return int整型二维数组 */ public int[][] solve (int[][] a, int[][] b) { // write code here if (a == null || b == null) { return null; } int n = a.length; int[][] res = new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { res[i][j] = calMat(a, b, i, j); } } return res; } private int calMat(int[][] a, int[][] b, int i, int j) { int res = 0; int[] row = a[i]; //第i行第j列对应相乘再相加 for (int m=0; m < row.length; m++) { res +=(row[m] * b[m][j]); } return res; } }
NOTES:
- 结果矩阵(i,j)位置值=a矩阵row(i)与b矩阵col(j)对应相乘相加即可