Problem 311: Sparse Matrix Multiplication

https://leetcode.com/problems/sparse-matrix-multiplication/

思路

  • 这道题如果用常规的矩阵乘法会超时,因为这里不是常规的矩阵,而是 sparse matrix,也就是说这个矩阵里大多数的元素都是 0, 只有零星的几个元素非 0,所以我们没必要浪费时间在每个元素上,只需要记录那些 non-zero 的元素即可

  • 如果 rowA 或者 colB 都是 0 的话,那么最后的结果肯定也是 0。所以,我们可以用两个数组来记录是否为 non-zero

  • 对每一个元素来说,rst[i][k]+=A[i][j]B[j][k]rst[i][k] += A[i][j] * B[j][k]

易错点

  1. 对 B 来说,考虑的是 column

    所以他的内外层循环是相反的,相对于 A 来说

Last updated

Was this helpful?