矩阵乘法
描述
给定两个n* n的矩阵A和B,求A*B。
解题
/**
* 矩阵乘法
* 按步计算
*/
public class Solution {
public static void main(String[] args) {
int[][] a = {{1,2},{3,4}};
int[][] b = {{3,1},{4,2}};
Solution solution = new Solution();
for (int i = 0; i <a.length ; i++) {
for (int j = 0; j < b[0].length; j++) {
System.out.print(solution.solve(a,b)[i][j]+" ");
}
System.out.println();
}
}
public int[][] solve(int[][] a,int[][] b){
if(a==null||b==null) return null;
int arow = a.length,acolumns=a[0].length;//取行,列
int brow = b.length,bcolumns=b[0].length;
if (acolumns!=brow){
return null;
}else {
int[][] c = new int[arow][bcolumns];//定义二维矩阵
for (int i = 0; i < arow; i++) {
for (int j = 0; j < bcolumns; j++) {
c[i][j]=0;
for (int k = 0; k < acolumns; k++) {
c[i][j] +=a[i][k]*b[k][j];//对应相乘
}
}
}
return c;
}
}
}