javascript二维矩阵的乘法。

百度&谷歌竟然搜不到“javascript二维矩阵的乘法”,那我就自己写一个分享给大家。(我写的是两个n*n的二维矩阵的乘法)

下面又到了贴代码的时候了:

function matrixMultiplication(a,b){
   var len=a.length,arr=[];
   for(var i=0;i<len;i++){
   	 arr[i]=[];
   	 for(var j=0;j<len;j++){
   	 	arr[i][j]=0;//每次都重新置为0
   	 	for(var k=0;k<len;k++)
   	 	{
   	 		arr[i][j]+=a[i][k]*b[k][j];//
   	 	}
   	 }
   }
   return arr;
}

另外,再推荐一个JS大神的写法:

function matrixMultiplication(a,b){
  return a.map(function(row){
      return row.map(function(_,i){
          return row.reduce(function(sum,cell,j){
              return sum+cell*b[j][i];
          },0);
      });
  });
}

其实思想都是一样的

时间: 2024-07-28 14:40:04

javascript二维矩阵的乘法。的相关文章

力扣240——搜索二维矩阵

这道题主要是利用搜索二维矩阵本身的特性,找到其中的规律,就可以解决了. 原题 编写一个高效的算法来搜索?m?x?n?矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30] ] 给定

lintcode 容易题:Search a 2D Matrix 搜索二维矩阵

题目: 搜索二维矩阵 写出一个高效的算法来搜索 m × n矩阵中的值. 这个矩阵具有以下特性: 每行中的整数从左到右是排序的. 每行的第一个数大于上一行的最后一个整数. 样例 考虑下列矩阵: [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50] ] 给出 target = 3,返回 true 挑战 O(log(n) + log(m)) 时间复杂度 解题: 1.最简单的方法就是遍历整个矩阵,时间复杂度:O(log(mn)),这个应该等于O(long(

二维矩阵卷积运算实现

http://z.download.csdn.net/detail/wangfei0117/4408649 http://download.csdn.net/detail/wanwenliang2008/1767686 二维矩阵卷积运算实现,布布扣,bubuko.com

lintcode 中等题:search a 2d matrix II 搜索二维矩阵II

题目 搜索二维矩阵 II 写出一个高效的算法来搜索m×n矩阵中的值,返回这个值出现的次数. 这个矩阵具有以下特性: 每行中的整数从左到右是排序的. 每一列的整数从上到下是排序的. 在每一行或每一列中没有重复的整数. 样例 考虑下列矩阵: [     [1, 3, 5, 7],     [2, 4, 7, 8],     [3, 5, 9, 10] ] 给出target = 3,返回 2 挑战 要求O(m+n) 时间复杂度和O(1) 额外空间 解题 直接遍历,时间复杂度是O(MN) public

CUDA学习之一:二维矩阵加法

今天忙活了3个小时,竟然被一个苦恼的CUDA小例程给困住了,本来是参照Rachal zhang大神的CUDA学习笔记来一个模仿,结果却自己给自己糊里糊涂,最后还是弄明白了一些. RZ大神对CUDA关于kernel,memory的介绍还是蛮清楚,看完决定写一个二维数组的加法.如果是C++里的加法,那就简单了,用C[i][j] = A[i][j] +B[i][j]就可以. 1 void CppMatAdd(int A[M][N],int B[M][N],int C[M][N]){ 2 for(int

20140920百度笔试题一道之二维矩阵查找

题目: 有这样一个二维矩阵A[N][N],满足j < k时, 1)a[i][j] < a[i][k]; 2)a[j][i] < a[k][i](其实就数据从左上角到右下角纵横方向上都递减),给定一个数target,如何快速搜索是否在这个矩阵中,是的话输出二维坐标,否则输出Null:(不妨假设数据不重复) 比如  12  34  56  78  90  96 13  35  57  79  91  97 14  36  58  80  93  98 15  37  59  81  94  

search-a-2d-matrix——二维矩阵找数

题目描述 Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties: Integers in each row are sorted from left to right. The first integer of each row is greater than the last integer of the previo

关于有序二维矩阵查找和字符串替换的两道算法题

最近看一本书上写到的两个面试题 于是实现了一下 感觉思路很好,大牛略过 : 1.对于一个二维矩阵,从左到右  从上到下 都是递增的,如何判断一个值是否在矩阵内部?(C实现  实现复杂度 O(n)) bool FindInTwoDimensionalMatrix(int*pMatrix,int iRows,int iCols,int iFindVal) { bool bFind=false ; if(pMatrix==0||iRows<=0||iCols<=0) return bFind ; i

【LeetCode-面试算法经典-Java实现】【074-Search a 2D Matrix(搜索二维矩阵)】

[074-Search a 2D Matrix(搜索二维矩阵)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties: Integers in each row are sorted from left to right. The first