一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 152|回复: 3
收起左侧

[编程题] 求问, sparse dot vector multiplication

[复制链接] |试试Instant~ |关注本帖
mycoy 发表于 2017-12-6 11:51:23 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
经常看到FB的一道题, sparse dot vector multiplication

我觉得应该两种cases:
case1:  (1*n)  * (n*1) = (1)  
case2:  (n*1) * (1*n) = (n*n),  //case2 其实就是 sparse matrix multiply.

所以应该是 Sparse dot vector multiplication 指的应该是case1; 但是感觉代码应该很简单的,
  1.         public int vectorMultiply(int[] A, int B[]){
  2.                 int n = A.length;
  3.                 int result = 0;
  4.                
  5.                 for(int i=0; i<n; i++){
  6.                         if(A[i] == 0 || B[i]==0)
  7.                                 continue;
  8.                        
  9.                         result += A[i] * B[i];
  10.                 }
  11.                 return result;
  12.         }
复制代码
请问我的代码有问题吗, 这个问题有什么tricky的地方吗?
谢谢
trumpet1987 发表于 2017-12-6 12:11:43 | 显示全部楼层
这个问题主要的考察点应该在于如何表示sparse vector/matrix,以及如何用sparse representation来进行乘法。如果已经给出dense representation,其实没什么太大意义。
回复 支持 反对

使用道具 举报

cascade15 发表于 7 天前 | 显示全部楼层
同意楼上的,这么做没有利用上sparse的条件
回复 支持 反对

使用道具 举报

haifengc 发表于 6 天前 | 显示全部楼层
这个题目,
你的输入应该是两个已经用 (index ,value)存好的sparse list
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-12-14 18:23

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表