跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Facebook 又考原题,它的题库到底有多少。。
未分類
16 11 月 2020

Facebook 又考原题,它的题库到底有多少。。

Facebook 又考原题,它的题库到底有多少。。

資深大佬 : zzzrf 3

之前听说 FB 考过 2 道 hard 题,还只给 40 分钟的……

FB 有时候就是逼你背答案,现在想想也有道理,愿意刷题也能看出工作态度,不过国内大厂应该很难“仅”靠刷题上岸吧?

给定两个 稀疏矩阵 A 和 B,返回 AB 的结果。 您可以假设 A 的列数等于 B 的行数。

题目链接

样例 1

Input:  [[1,0,0],[-1,0,3]] [[7,0,0],[0,0,0],[0,0,1]] Output: [[7,0,0],[-7,0,3]] Explanation: 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 | 

样例 2

Input: [[1,0],[0,1]] [[0,1],[1,0]] Output: [[0,1],[1,0]] 

算法:模拟

思路

矩阵乘法的实现:一个 m 行 n 列的矩阵 A,与一个 n 行 p 列的矩阵 B 可以相乘,得到的结果 AB 是一个 m 行 p 列的矩阵,其中的第 i 行第 j 列位置上的数 AB(i,j)为,矩阵 A 第 i 行上的 n 个数与矩阵 B 第 j 列上的 n 个数一一对应相乘后,所得到的 n 个乘积之和。直接模拟即可。

复杂度分析

空间复杂度 O(n^2) 时间复杂度 O(n^3)

public class Solution {     /**      * @param A: a sparse matrix      * @param B: a sparse matrix      * @return: the result of A * B      */     public int[][] multiply(int[][] A, int[][] B) {         int rowA = A.length, columnA = A[0].length;         int rowB = B.length, columnB = B[0].length;         // AB 为 rowA * columnB 大小的矩阵         int[][] AB = new int [rowA][columnB];         for (int i = 0; i < rowA; i++){             for (int j = 0; j < columnB; j++){                 // 求出每一项                 int sum = 0;                 for (int k = 0; k < columnA; k++){                     sum += A[i][k] * B[k][j];                 }                 AB[i][j] = sum;             }         }         return AB;     } }  

大佬有話說 (0)

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具