动态规划-3.1.1矩阵连乘问题之穷举法

来源:互联网 发布:sql 选取时间段 编辑:程序博客网 时间:2024/06/14 01:36
public class test3_1_1 {    public static void matrixMultiply(int[][] a,int[][] b,int[][] c,int ra,int ca,int rb,int cb){        if(ca!=rb){  //若矩阵A的列数≠矩阵B的行数,则无法相乘            System.err.println("矩阵无法相乘");            return;        }        for(int i=0;i<ra;i++) //矩阵A行数∈[0,ra)            for(int j=0;j<cb;j++){  //矩阵B列数∈[0,cb)                int sum = a[i][0]*b[0][j];                for(int k=1;k<ca;k++)  //ca==rb                    sum += a[i][k]*b[k][j];                c[i][j] = sum;            }    }    public static void main(String[] args) {        int[][] a = {{1,2,3},                     {3,2,2}};        int[][] b = {{1,1,1,1},                     {1,1,1,1},                     {1,1,1,1}};        int[][] c = new int[2][4];        int ra = 2,ca = 3,rb = 3,cb = 4;        matrixMultiply(a,b,c,ra,ca,rb,cb);        for(int i=0;i<ra;i++){            for(int j=0;j<cb;j++)                System.out.print(c[i][j]+" ");            System.out.println();        }    }}

运行结果:

6 6 6 6 7 7 7 7 
原创粉丝点击