1. 程式人生 > >facebook 311 Sparse Matrix Multiplication

facebook 311 Sparse Matrix Multiplication

for span example ply num [0 nbsp res con

Given two sparse matrices A and B, return the result of AB.

You may assume that As column number is equal to Bs row number.

Example:

A = [
  [ 1, 0, 0],
  [-1, 0, 3]
]

B = [
  [ 7, 0, 0 ],
  [ 0, 0, 0 ],
  [ 0, 0, 1 ]
]


     |  1 0 0 |   | 7 0 0 |   |  7 0 0 |
AB = | -1 0 3 | x | 0 0 0 | = | -7 0 3 |
                  | 0
0 1 |

public class Solution {
    public int[][] multiply(int[][] A, int[][] B) {
        int m = A.length; 
        int n = A[0].length;
        int bn = B[0].length;
        int[][] C = new int[m][bn];
        
        for (int i=0; i<m; i++) {
            for (int k=0; k<n; k++) {
                if (A[i][k] == 0) continue;
                for (int j=0; j<bn; j++) {
                    C[i][j] += A[i][k] * B[k][j];
                }
            }
        }
        return C;
    }
}

  

facebook 311 Sparse Matrix Multiplication