Given two sparse matrices mat1
of size m x k
and mat2
of size k x n
, return the result of mat1 x mat2
. You may assume that multiplication is always possible.
Example 1:
![](https://assets.leetcode.com/uploads/2021/03/12/mult-grid.jpg)
Input: mat1 = [[1,0,0],[-1,0,3]], mat2 = [[7,0,0],[0,0,0],[0,0,1]] Output: [[7,0,0],[-7,0,3]]
Example 2:
Input: mat1 = [[0]], mat2 = [[0]] Output: [[0]]
不就是线性代数的矩阵乘法吗,一脸懵逼
public class Solution { public int[][] multiply(int[][] A, int[][] B) { int m = A.length, n = A[0].length, nB = B[0].length; int[][] C = new int[m][nB]; for(int i = 0; i < m; i++) { for(int k = 0; k < n; k++) { if (A[i][k] != 0) { for (int j = 0; j < nB; j++) { if (B[k][j] != 0) C[i][j] += A[i][k] * B[k][j]; } } } } return C; } }
标签:mat2,Matrix,mat1,int,311,++,length,Sparse,nB From: https://www.cnblogs.com/immiao0319/p/16749873.html