0311. Sparse Matrix Multiplication
Last updated
Last updated
**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]]**Input:** mat1 = [[0]], mat2 = [[0]]
**Output:** [[0]]class Solution {
public int[][] multiply(int[][] A, int[][] B) {
// edge cases
if (A.length == 0 || A[0].length == 0 || B.length == 0 || B[0].length == 0)
return new int[0][0];
int rowa = A.length, cola = A[0].length, rowb = B.length, colb = B[0].length;
int[][] res = new int[rowa][colb];
for (int ra = 0; ra < rowa; ra++) {
for (int ca = 0; ca < cola; ca++) {
if (A[ra][ca] == 0) continue; // skip 0
for (int cb = 0; cb < colb; cb++) {
res[ra][cb] += A[ra][ca] * B[ca][cb];
}
}
}
return res;
}
}
/*
know how to do the math
*/