zoukankan      html  css  js  c++  java
  • 矩阵乘积

    在 codewars 做练习题时遇到 一道矩阵相关的题目,一开始挺懵逼的,因为相关的的概念忘得差不多了,于是查了一下 资料 

    可知矩阵 A、B 乘积 ( C=AB ) 满足的条件是:

    1、当矩阵A的列数等于矩阵B的行数时,A与B可以相乘。
    2、矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。
    3、乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和 
    根据已知条件和题目要求可解:
    function getMatrixProduct(a, b) {
        //If a and b can be multiplied, returns the product of a and b as a two-dimensional array. Otherwise returns -1.
        if(a[0].length!==b.length) return -1
        let aRows=a.length
        let aCols=a[0].length
        let bRows=b.length
        let bCols=b[0].length
        let result=new Array(aRows)
        for(let i=0;i<aRows;i++){
          result[i]=new Array(bCols)
          for(let j=0;j<bCols;j++){
            result[i][j]=0
            for(let k=0;k<aCols;k++){
              result[i][j]+=a[i][k]*b[k][j]
            }
          }
        }
        return result
    };
    作者:五更
    欢迎交流,转载请标明出处,谢谢。
  • 相关阅读:
    day_10作业
    day_10
    day_09
    day_08
    猜年龄游戏
    day_07
    day_06作业
    day05课堂小结
    day05作业
    day04课堂小结
  • 原文地址:https://www.cnblogs.com/teemwu/p/9961766.html
Copyright © 2011-2022 走看看