/**
* 矩阵相乘
*/
public class MatrixMultiplication {
public static void main(String[] args) {
// a b c
// [1,2] [5,6] [19,22]
// [3,4] [7,8] [43,50]
// int[][] A = {{1, 2}, {3, 4}};
// int B[][] = {{5, 6}, {7, 8}};
// int[][] result = mm(A, B);
// A B C
// [1,2,3] [1,2] no result
// [4,5,6] [3,4]
// int[][] A = {{1, 2, 3}, {4, 5, 6}};
// int[][] B = {{1, 2}, {3, 4}};
// int[][] result = mm(A, B);
// A B C
// [1,2] [1,2,3] [09,12,15]
// [3,4] [4,5,6] [19,26,33]
int[][] A = {{1, 2}, {3, 4}};
int[][] B = {{1, 2, 3}, {4, 5, 6}};
int[][] result = mm(A, B);
if (result != null) {
for (int[] tmp : result) {
for (int t : tmp) {
System.out.print((t < 10 ? "0" + t : t) + " ");
}
System.out.println();
}
} else {
System.out.println("can't get result");
}
}
public static int[][] mm(int[][] a, int[][] b) {
if (a[0].length > b.length) return null;
int[][] c = new int[a.length][b[0].length];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < b[0].length; j++) {
for (int k = 0; k < b.length; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
return c;
}
}
二维数组矩阵相乘
最新推荐文章于 2024-07-10 22:21:32 发布