一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1255|回复: 16
收起左侧

Yelp onsite

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

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

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

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

x
昨天onsite,今天一大早就收到email挂了。。。我这是表现的有多差啊,都不需要讨论一下呵呵. 1point 3acres 璁哄潧
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吧


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 ...
. Waral 鍗氬鏈夋洿澶氭枃绔,
为什么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)
  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).鏈枃鍘熷垱鑷1point3acres璁哄潧
再贴个我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的代码
. more info on 1point3acres.com
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
所以呀 O(N). 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
那还是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 | 显示全部楼层
一本正经的胡说八道 我居然觉得很有道理 (开个玩笑, 没有贬义)!!!. Waral 鍗氬鏈夋洿澶氭枃绔,

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那么算的话,哪里有问题?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-11 10:18

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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