码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode 311: Sparse Matrix Multiplication

时间:2018-01-28 11:31:14      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:ref   pos   tar   equal   break   body   http   hat   column   

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

You may assume that A‘s column number is equal to B‘s 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 |

 1 public class Solution {
 2     public int[,] Multiply(int[,] A, int[,] B) {
 3         int rowsA = A.GetLength(0), colsA = A.GetLength(1), colsB = B.GetLength(1); 
 4         
 5         var output = new int[rowsA, colsB];
 6         var nonZeroRows = new List<int>();
 7         
 8         for (int i = 0; i < rowsA; i++)
 9         {
10             for (int j = 0; j < colsA; j++)
11             {
12                 if (A[i, j] != 0)
13                 {
14                     nonZeroRows.Add(i);
15                     break;
16                 }
17             }
18         }
19         
20         foreach (var i in nonZeroRows)
21         {
22             for (int j = 0; j < colsB; j++)
23             {
24                 for (int k = 0; k < colsA; k++)
25                 {
26                     output[i, j] += A[i, k] * B[k, j]; 
27                 }
28             }
29         }
30         
31         return output;
32     }
33 }

 

Leetcode 311: Sparse Matrix Multiplication

标签:ref   pos   tar   equal   break   body   http   hat   column   

原文地址:https://www.cnblogs.com/liangmou/p/8369293.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!