311. Sparse Matrix Multiplication

크기 m x k의 두 희소 행렬 mat1과 크기 k x n의 mat2가 주어지면 mat1 x mat2의 결과를 반환

  • 행렬 곱셈은 두 행렬이 곱해질 때 다른 행렬이 출력되는 이진 연산
  • 결과 행렬의 크기는 다음과 같습니다. (A의 행 수 × B의 열 수)

class Solution {
    
    // 희소행렬
    public int[][] multiply(int[][] mat1, int[][] mat2) {
        int m = mat1.length, n = mat2[0].length;
        
        int[][] prd = new int[m][n];

        for (int i = 0; i < m; i++) {
            for (int k = 0; k < mat1[i].length; k++) {
                if (mat1[i][k] != 0) {
                    for (int j = 0; j < n; j++) {
                        if (mat2[k][j] != 0) prd[i][j] += mat1[i][k] * mat2[k][j];
                    }
                }
            }
        }
        
        return prd;   
    }
}





© 2017. by yeopoong.github.io

Powered by yeopoong