传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 2253|回复: 16
收起左侧

Yelp onsite

[复制链接] |试试Instant~ |关注本帖
zhaishaodan 发表于 2015-9-2 02:14:21 | 显示全部楼层 |阅读模式

2015(7-9月) 码农类 博士 全职@Yelp - 网上海投 - Onsite |Failfresh grad应届毕业生

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

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

x
昨天onsite,今天一大早就收到email挂了。。。我这是表现的有多差啊,都不需要讨论一下呵呵
1, 白人大叔
谈project, 谈怎么改进yelp之类。
coding 题:算两个文本的cosin similarity

2, 国人
问project,全程板个脸
一个dp, 不过写完有个bug. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
Given a set of currency denominations, find the minimum number of coins needed to represent an amount.
Return 0 if you can't use your coins to represent the target amount.
For example:
Suppose you have two kinds of coins: 1, 2. In order to represent 3, you have two options:
1 + 1 + 1 = 3 or
1 + 2 = 3
So the minimum number of coins is 2.

3,烙印女manager
问project
lc Search a 2D Matrix II
binary search, 就是每次扔掉1/4数据。然后她说这不是最优解。。。说复杂度还是n^2(应该是O(n)吧,如果是n*n的矩阵)
哪个大牛能说说还有什么更好的解法?

4,白男
概率题,我的最恨!提示下写出来了。
然后是给4个点的坐标,判断能否构成一个正方形。正方形与坐标轴不一定平行。

面完感觉就不太好,虽然题都做出来了。
没想到这么快啊。。。move on吧
.鏈枃鍘熷垱鑷1point3acres璁哄潧
. more info on 1point3acres.com
SherryShi 发表于 2015-9-2 03:27:00 | 显示全部楼层
楼主,search 2D matrix 那个题目可以从matrix的右上角向左走或者向下走找target, 向左的话就是当target 比当前数小的时候,反之向下走,这样做是Linear time。 问下那个文本的cosin similarity那题是什么意思呀?cosin similarity 怎么表示呢?  
回复 支持 反对

使用道具 举报

Linzertorte 发表于 2015-9-2 03:33:17 | 显示全部楼层
第三题有O(n)的。
回复 支持 反对

使用道具 举报

Linzertorte 发表于 2015-9-2 03:35:34 | 显示全部楼层
SherryShi 发表于 2015-9-2 03:27
楼主,search 2D matrix 那个题目可以从matrix的右上角向左走或者向下走找target, 向左的话就是当target 比 ...

就是数一数每个词出现了多少次, 比如 一共有N个不同的词,可以把一个文档当成一个N给的向量。
然后求两个文档的相似就是求两个向量的余弦角。相同的文档其实余弦是1
比如文档1: dog cat dog. 文档二 cat dog dog . 这两个看词出现的频率是一样的。
回复 支持 反对

使用道具 举报

 楼主| zhaishaodan 发表于 2015-9-2 03:48:38 | 显示全部楼层
SherryShi 发表于 2015-9-2 03:27
楼主,search 2D matrix 那个题目可以从matrix的右上角向左走或者向下走找target, 向左的话就是当target 比 ...

search 2D matrix那题用binary search也是O(n).

a, b 两个向量,cosin_similarity(a,b) = a^(T)b / sqrt(||a||+||b||)
回复 支持 反对

使用道具 举报

SherryShi 发表于 2015-9-2 03:52:42 | 显示全部楼层
Linzertorte 发表于 2015-9-2 03:35
就是数一数每个词出现了多少次, 比如 一共有N个不同的词,可以把一个文档当成一个N给的向量。
然后求两 ...

奥~明白了,O(∩_∩)O谢谢
回复 支持 反对

使用道具 举报

SherryShi 发表于 2015-9-2 04:45:50 | 显示全部楼层
zhaishaodan 发表于 2015-9-2 03:48
search 2D matrix那题用binary search也是O(n).

a, b 两个向量,cosin_similarity(a,b) = a^(T)b / sq ...

为什么Binary search时间复杂度是O(n)? 需要先找到进行binary search的那个位置吧?时间复杂度是O(nlogn)
回复 支持 反对

使用道具 举报

 楼主| zhaishaodan 发表于 2015-9-2 05:51:28 | 显示全部楼层
SherryShi 发表于 2015-9-2 04:45
为什么Binary search时间复杂度是O(n)? 需要先找到进行binary search的那个位置吧?时间复杂度是O(nlogn)

递推是 f(n) = 3 * f(n/4) + 1,然后我仔细算了算就是O(n)
再贴个我LC的代码
  1. class Solution {
  2. public:
  3.     bool searchMatrix(vector<vector<int>>& matrix, int target) {
    . 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  4.         if(matrix.empty() || matrix[0].empty()) return false;
  5.         return helper(matrix, target, 0, matrix.size()-1, 0, matrix[0].size()-1);.鐣欏璁哄潧-涓浜-涓夊垎鍦
  6.     }
  7.    
  8.     bool helper(vector<vector<int>>& matrix, int target, int rowB, int rowE, int colB, int colE){
  9.         if(rowB > rowE || colB > colE) return false;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  10.         int row = (rowB+rowE)/2, col = (colB+colE)/2;
  11.         if(matrix[row][col] == target) return true;
  12.         if(matrix[row][col] < target){
  13.             return helper(matrix, target, rowB, rowE, col+1, colE)-google 1point3acres
  14.                 || helper(matrix, target, row+1, rowE, colB, col);
  15.         }
  16.         return helper(matrix, target, rowB, row-1, colB, colE)
  17.             || helper(matrix, target, row, rowE, colB, col-1);
  18.     }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  19. };
复制代码
回复 支持 反对

使用道具 举报

w41q 发表于 2015-9-2 06:36:00 | 显示全部楼层
yelp投了两遍都不鸟我。。。
回复 支持 反对

使用道具 举报

会编程的猪先生 发表于 2015-9-2 23:47:13 | 显示全部楼层
zhaishaodan 发表于 2015-9-2 05:51
递推是 f(n) = 3 * f(n/4) + 1,然后我仔细算了算就是O(n)
再贴个我LC的代码

row是n, col是n 元素就是n^2个呀 亲。。。
回复 支持 反对

使用道具 举报

会编程的猪先生 发表于 2015-9-2 23:47:28 | 显示全部楼层
zhaishaodan 发表于 2015-9-2 05:51
递推是 f(n) = 3 * f(n/4) + 1,然后我仔细算了算就是O(n)
再贴个我LC的代码

row是n, col是n 元素就是n^2个呀 亲。。。
回复 支持 反对

使用道具 举报

会编程的猪先生 发表于 2015-9-2 23:50:25 | 显示全部楼层
matrix的题cc150上有解法 每次找到斜角线上某点m[i][j]使 m[i-1][j-1]<value, m[i][j]>=value 这样可以去掉左上角右下角
回复 支持 反对

使用道具 举报

 楼主| zhaishaodan 发表于 2015-9-3 09:58:14 | 显示全部楼层
会编程的猪先生 发表于 2015-9-2 23:47. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
row是n, col是n 元素就是n^2个呀 亲。。。

没说清楚哈
应该是 f(N) = 3 * f(N/4) + 1, N = n^2
回复 支持 反对

使用道具 举报

会编程的猪先生 发表于 2015-9-3 10:24:29 | 显示全部楼层
所以呀 O(N)
那还是O(n^2)
回复 支持 反对

使用道具 举报

 楼主| zhaishaodan 发表于 2015-9-3 10:45:04 | 显示全部楼层
会编程的猪先生 发表于 2015-9-3 10:24.鏈枃鍘熷垱鑷1point3acres璁哄潧
所以呀 O(N). 1point 3acres 璁哄潧
那还是O(n^2)

我晕。。好吧,写详细一点
N = n^2
T(N) = 3 * T(N/4) + 1
Recursion tree 的高度是log(N) = log(n)
第j层的计算量是 3^(j),  j = 0, ..., log(n)
然后等比数列求和。。。得到O(n)
回复 支持 反对

使用道具 举报

会编程的猪先生 发表于 2015-9-3 11:12:30 | 显示全部楼层
一本正经的胡说八道 我居然觉得很有道理 (开个玩笑, 没有贬义)!!!

https://en.wikipedia.org/wiki/Master_theorem#Case_3. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

回复 支持 反对

使用道具 举报

 楼主| zhaishaodan 发表于 2015-9-3 11:32:27 | 显示全部楼层
会编程的猪先生 发表于 2015-9-3 11:12. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
一本正经的胡说八道 我居然觉得很有道理 (开个玩笑, 没有贬义)!!!. From 1point 3acres bbs

https://en.wikipedia.org/wiki/Maste ...

呵呵。。没看懂。。一直我都是用recursion tree分析复杂度,不太会Master theorem
那你觉得用recursion tree那么算的话,哪里有问题?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-9-25 03:34

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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