如何查询网站被百度收录,厦门seo优化推广,塘沽有哪些互联网公司,cf刷枪网站怎么做的给定两个 稀疏矩阵 #xff1a;大小为 m x k 的稀疏矩阵 mat1 和大小为 k x n 的稀疏矩阵 mat2 #xff0c;返回 mat1 x mat2 的结果。你可以假设乘法总是可能的。
示例 1#xff1a; 输入#xff1a;mat1 [[1,0,0],[-1,0,3]], mat2 [[7,0,0],[0,0,0],[0,0,1]] 输出大小为 m x k 的稀疏矩阵 mat1 和大小为 k x n 的稀疏矩阵 mat2 返回 mat1 x mat2 的结果。你可以假设乘法总是可能的。
示例 1 输入mat1 [[1,0,0],[-1,0,3]], mat2 [[7,0,0],[0,0,0],[0,0,1]] 输出[[7,0,0],[-7,0,3]]
示例 2: 输入mat1 [[0]], mat2 [[0]] 输出[[0]] vectorvectorint multiply(vectorvectorint mat1, vectorvectorint mat2) {int m mat1.size();int k mat1[0].size();int n mat2[0].size();unordered_mapint, listpairint, int map1;unordered_mapint, listpairint, int map2;for (int i {0}; i m; i) {for (int j {0}; j k; j) {if (mat1[i][j] ! 0) map1[mat1[i][j]].push_back(make_pair(i, j));}} for (int i 0; i k; i) {for (int j 0; j n; j) {if (mat2[i][j] ! 0) map2[mat2[i][j]].push_back(make_pair(i, j));}}vectorvectorint res(m, vectorint(n, 0));if (m 0 || n 0) return res;for (auto element1 : map1) {for (auto list_node1 : element1.second) {for (auto element2 : map2) {for (auto list_node2 : element2.second) {if (list_node1.second list_node2.first) {res[list_node1.first][list_node2.second] element1.first * element2.first;}}}}}return res;}