最近在搞那个activity的事情,算是告一段落了,重新投入学习之中,开始算法与jquery的同步学习,加油!!!
package cn.xf.algorithm.ch02; /** * 计算矩阵的乘积 * @author xiaof * */ public class Matrix { /** * 矩阵A,B相乘,获取对应的值 * 注意:当矩阵A的列数等于矩阵B的行数时,A与B可以相乘。 * @param a * @param b * @return */ public static Long[][] matrixMultiplication(Long a[][], Long b[][], int aRow, int aColumn, int bRow, int bColumn) { if(aColumn != bRow) { return null; } //结果集是一个A矩阵的行与B矩阵的列的矩阵 Long result[][] = new Long[aRow][bColumn]; //首先遍历两个矩阵的相应的行和列 for(int i = 0; i < aRow; ++i) { for(int j = 0; j < aColumn; ++j) { //求对应的行和列相乘之后的所得的积之和 result[i][j] = 0l; //首先设置当前值为0 for(int k = 0; k < bRow; ++k) { //求积的累加和 Long count1 = a[i][k]; Long count2 = b[k][j]; result[i][j] += a[i][k] * b[k][j]; } } } return result; } public static void main(String []args) { //矩阵a,b Long a[][] = new Long[][]{{1l,2l},{3l,4l}}; Long b[][] = new Long[][]{{1l,2l},{3l,4l}}; Long result[][] = Matrix.matrixMultiplication(a, b, 2, 2, 2, 2); for(int i = 0; i < 2; ++i) { for(int j = 0; j < 2; ++j) { System.out.print(result[i][j] + " "); } System.out.println(); } } }
结果显示: