由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - F Onsite面经
相关主题
fb电话面试amazon 2nd phone interview
求二叉树最大路径和的变体题Quick selection for k unsorted arrays
讨论一道LeetCode题:Binary Tree Maximum Path Sum如何随机找二叉树中的任意节点?
Leetcode bst max path-----is this solution correct?到底什么样的二叉树才是平衡二叉树?
问一道google面经fb + google 电面面经
[面试题] 如何打印一个二叉树level by level?请教一道g算法题
非递归求二叉树高度,除了按层次遍历的方法,还可以怎么做?TopK nearest points为啥用heap不用selection sort?
MS一道onsite面题 白板coding讨论下面试题的难度分布?
相关话题的讨论汇总
话题: int话题: result话题: front话题: root话题: 二叉树
进入JobHunting版参与讨论
1 (共1页)
a******u
发帖数: 69
1
三轮
1. a) 给出加密的方法'a'->1, ……, 'z'->26. 给一个数,问有多少种解密的方法。
b) 给你n个用户和k,找出发帖数最多的k个用户。
2. a) 给你棵二叉树,节点上有权值,问从一个叶子走到另外一个叶子的路里面权值最
大的那条是什么。
b) 给你数组a1,a2,...,an。输出数组a2*a3*...*an, a1*a3*a4*...*an, ..., a1*
a2*...*an-1.
3. 问简历,问来想做什么工作。一道coding题:Read4k,leetcode上那道“Read N
Characters Given Read4”类似。
前两轮基本bug free.第三轮被抓出些bug。
第二天得知面挂,觉得有点不可思议。
l*********8
发帖数: 4642
2
不是应该四轮吗?

【在 a******u 的大作中提到】
: 三轮
: 1. a) 给出加密的方法'a'->1, ……, 'z'->26. 给一个数,问有多少种解密的方法。
: b) 给你n个用户和k,找出发帖数最多的k个用户。
: 2. a) 给你棵二叉树,节点上有权值,问从一个叶子走到另外一个叶子的路里面权值最
: 大的那条是什么。
: b) 给你数组a1,a2,...,an。输出数组a2*a3*...*an, a1*a3*a4*...*an, ..., a1*
: a2*...*an-1.
: 3. 问简历,问来想做什么工作。一道coding题:Read4k,leetcode上那道“Read N
: Characters Given Read4”类似。
: 前两轮基本bug free.第三轮被抓出些bug。

a******u
发帖数: 69
3
那天面的new grad都只有3轮哎,两轮ninja,一轮jedi

【在 l*********8 的大作中提到】
: 不是应该四轮吗?
l*********8
发帖数: 4642
4
2.b你怎么做的?

【在 a******u 的大作中提到】
: 那天面的new grad都只有3轮哎,两轮ninja,一轮jedi
p*u
发帖数: 2454
5
http://www.mitbbs.com/article/Dreamer/34377763_3.html

【在 a******u 的大作中提到】
: 三轮
: 1. a) 给出加密的方法'a'->1, ……, 'z'->26. 给一个数,问有多少种解密的方法。
: b) 给你n个用户和k,找出发帖数最多的k个用户。
: 2. a) 给你棵二叉树,节点上有权值,问从一个叶子走到另外一个叶子的路里面权值最
: 大的那条是什么。
: b) 给你数组a1,a2,...,an。输出数组a2*a3*...*an, a1*a3*a4*...*an, ..., a1*
: a2*...*an-1.
: 3. 问简历,问来想做什么工作。一道coding题:Read4k,leetcode上那道“Read N
: Characters Given Read4”类似。
: 前两轮基本bug free.第三轮被抓出些bug。

l*********8
发帖数: 4642
6
read4k那个面试官的问题?

【在 p*u 的大作中提到】
: http://www.mitbbs.com/article/Dreamer/34377763_3.html
a******u
发帖数: 69
7
他说不能用除法
所以
我建了两个数组:b, c
b1 = a1*a2*...*an
b2 = a2*a3*...*an
...
bn = an
c1 = a1
c2 = a1*a2
...
cn = a1*a2*...*an
output:
b2
c1 * b3
c2 * b4
...
cn-1

【在 l*********8 的大作中提到】
: 2.b你怎么做的?
a******u
发帖数: 69
8
我不是老印面的。
是个白人mm

【在 l*********8 的大作中提到】
: read4k那个面试官的问题?
m****n
发帖数: 142
9
FB 是一票否决 完全取决于最jerk的面试官

【在 a******u 的大作中提到】
: 三轮
: 1. a) 给出加密的方法'a'->1, ……, 'z'->26. 给一个数,问有多少种解密的方法。
: b) 给你n个用户和k,找出发帖数最多的k个用户。
: 2. a) 给你棵二叉树,节点上有权值,问从一个叶子走到另外一个叶子的路里面权值最
: 大的那条是什么。
: b) 给你数组a1,a2,...,an。输出数组a2*a3*...*an, a1*a3*a4*...*an, ..., a1*
: a2*...*an-1.
: 3. 问简历,问来想做什么工作。一道coding题:Read4k,leetcode上那道“Read N
: Characters Given Read4”类似。
: 前两轮基本bug free.第三轮被抓出些bug。

x**********a
发帖数: 1372
10
哪个office?多谢。

【在 a******u 的大作中提到】
: 三轮
: 1. a) 给出加密的方法'a'->1, ……, 'z'->26. 给一个数,问有多少种解密的方法。
: b) 给你n个用户和k,找出发帖数最多的k个用户。
: 2. a) 给你棵二叉树,节点上有权值,问从一个叶子走到另外一个叶子的路里面权值最
: 大的那条是什么。
: b) 给你数组a1,a2,...,an。输出数组a2*a3*...*an, a1*a3*a4*...*an, ..., a1*
: a2*...*an-1.
: 3. 问简历,问来想做什么工作。一道coding题:Read4k,leetcode上那道“Read N
: Characters Given Read4”类似。
: 前两轮基本bug free.第三轮被抓出些bug。

相关主题
[面试题] 如何打印一个二叉树level by level?amazon 2nd phone interview
非递归求二叉树高度,除了按层次遍历的方法,还可以怎么做?Quick selection for k unsorted arrays
MS一道onsite面题 白板coding如何随机找二叉树中的任意节点?
进入JobHunting版参与讨论
a******u
发帖数: 69
11
我之前看过一下这道题。大概知道tricky的地方在哪,但没自己写过。面的时候,我还
没说我写完,她就抓出来一些bug。。。

【在 p*u 的大作中提到】
: http://www.mitbbs.com/article/Dreamer/34377763_3.html
a******u
发帖数: 69
12
menlo park

【在 x**********a 的大作中提到】
: 哪个office?多谢。
a******u
发帖数: 69
13
人生好艰难

【在 m****n 的大作中提到】
: FB 是一票否决 完全取决于最jerk的面试官
l*********8
发帖数: 4642
14
这个方法可以啊

【在 a******u 的大作中提到】
: 他说不能用除法
: 所以
: 我建了两个数组:b, c
: b1 = a1*a2*...*an
: b2 = a2*a3*...*an
: ...
: bn = an
: c1 = a1
: c2 = a1*a2
: ...

q********c
发帖数: 1774
15
你的FB加面没?

【在 l*********8 的大作中提到】
: 这个方法可以啊
s******7
发帖数: 1758
16
这几道都是常见题,估计大家都做出来了,选谁只能靠长相和聊天吹牛拍马功夫了
a******u
发帖数: 69
17
可以发邮件问recruiter三个面试官的feedback吗?

【在 m****n 的大作中提到】
: FB 是一票否决 完全取决于最jerk的面试官
l*****a
发帖数: 14598
18
可以只用一个数组

【在 l*********8 的大作中提到】
: 这个方法可以啊
l*********8
发帖数: 4642
19
re and zan.
可能楼主大体思路上都对了, 但细节上不够优化。

【在 l*****a 的大作中提到】
: 可以只用一个数组
a******u
发帖数: 69
20
好吧。看来我的确多用了数组。但以我回来过往的经历,面试官会让我改进方法。所以
我习惯一开始给出最好解释的方法,然后等他让我改进。

re and zan.可能楼主大体思路上都对了, 但细节上不够优化。

【在 l*********8 的大作中提到】
: re and zan.
: 可能楼主大体思路上都对了, 但细节上不够优化。

相关主题
到底什么样的二叉树才是平衡二叉树?TopK nearest points为啥用heap不用selection sort?
fb + google 电面面经讨论下面试题的难度分布?
请教一道g算法题请问一下最大增长子序列的O(nLogk)算法
进入JobHunting版参与讨论
n*******e
发帖数: 37
21
想请问只用一个数组的方法
可以说说吗
n*******e
发帖数: 37
22
请问2a是给定两个leaf nodes吗? 还是找任意两个leaf nodes?

【在 a******u 的大作中提到】
: 三轮
: 1. a) 给出加密的方法'a'->1, ……, 'z'->26. 给一个数,问有多少种解密的方法。
: b) 给你n个用户和k,找出发帖数最多的k个用户。
: 2. a) 给你棵二叉树,节点上有权值,问从一个叶子走到另外一个叶子的路里面权值最
: 大的那条是什么。
: b) 给你数组a1,a2,...,an。输出数组a2*a3*...*an, a1*a3*a4*...*an, ..., a1*
: a2*...*an-1.
: 3. 问简历,问来想做什么工作。一道coding题:Read4k,leetcode上那道“Read N
: Characters Given Read4”类似。
: 前两轮基本bug free.第三轮被抓出些bug。

l*****a
发帖数: 14598
23
这个不见得是真正原因
不过以后尽可能写最优的好了,知道最优还不写最后莫名悲剧的例子太多了

【在 a******u 的大作中提到】
: 好吧。看来我的确多用了数组。但以我回来过往的经历,面试官会让我改进方法。所以
: 我习惯一开始给出最好解释的方法,然后等他让我改进。
:
: re and zan.可能楼主大体思路上都对了, 但细节上不够优化。

l*****a
发帖数: 14598
24
result[0]=1;
result[i]=result[i-1]*arr[i-1];
int c=1;
for(int i=arr.length-2;i>=0;i--) {
c*=arr[i+1];
result[i]*=c;
}

【在 n*******e 的大作中提到】
: 想请问只用一个数组的方法
: 可以说说吗

a******u
发帖数: 69
25
任意啊。给定的话就只有一个path的

请问2a是给定两个leaf nodes吗? 还是找任意两个leaf nodes?

【在 n*******e 的大作中提到】
: 请问2a是给定两个leaf nodes吗? 还是找任意两个leaf nodes?
h***k
发帖数: 161
26
跑了一下这个方法结果不对

【在 l*****a 的大作中提到】
: result[0]=1;
: result[i]=result[i-1]*arr[i-1];
: int c=1;
: for(int i=arr.length-2;i>=0;i--) {
: c*=arr[i+1];
: result[i]*=c;
: }

l*****a
发帖数: 14598
27
上面那个放在循环里面了吗
那你认为什么地方有问题呢

【在 h***k 的大作中提到】
: 跑了一下这个方法结果不对
h***k
发帖数: 161
28
上面那一段感觉你是写的通项公式嘛?放到循环里index溢出,能展开讲讲么?

【在 l*****a 的大作中提到】
: 上面那个放在循环里面了吗
: 那你认为什么地方有问题呢

l*****a
发帖数: 14598
29
for(int i=1;i<=arr.length-1;i++)
你是这么写的吗?

【在 h***k 的大作中提到】
: 上面那一段感觉你是写的通项公式嘛?放到循环里index溢出,能展开讲讲么?
h***k
发帖数: 161
30
for(int i=arr.length-2;i>=0;i--) {

【在 l*****a 的大作中提到】
: for(int i=1;i<=arr.length-1;i++)
: 你是这么写的吗?

相关主题
时隔一年再次得到Amazon电面机会求二叉树最大路径和的变体题
题都感觉做对了,面试的人也满意,为什么二面过后还是直接悲剧呢……顺便上P面经讨论一道LeetCode题:Binary Tree Maximum Path Sum
fb电话面试Leetcode bst max path-----is this solution correct?
进入JobHunting版参与讨论
l*****a
发帖数: 14598
31
这个什么结果?你输入数组几个item
result[0]=1;
for(int i=1;i<=arr.length-1;i++) {
result[i]=result[i-1]*arr[i-1];
}
int c=1;
for(int i=arr.length-2;i>=0;i--) {
c*=arr[i+1];
result[i]*=c;
}

【在 h***k 的大作中提到】
: for(int i=arr.length-2;i>=0;i--) {
w*****t
发帖数: 485
32
有更简洁的做法,one pass with O(1) spaces:
vector Multiplication(vector &arr)
{
if (arr.empty()) return vector();
const int N = arr.size();
vector result(N, 1);
int left = 1, right = 1;
for (int i = 0; i < N; ++i) {
result[i] *= left;
result[N-1-i] *= right;
left *= arr[i];
right *= arr[N-1-i];
}
return result;
}
h***k
发帖数: 161
33
原来这里有循环,这个对的!

【在 l*****a 的大作中提到】
: 这个什么结果?你输入数组几个item
: result[0]=1;
: for(int i=1;i<=arr.length-1;i++) {
: result[i]=result[i-1]*arr[i-1];
: }
: int c=1;
: for(int i=arr.length-2;i>=0;i--) {
: c*=arr[i+1];
: result[i]*=c;
: }

h***k
发帖数: 161
34
算法是对的,但明显是O(n)time O(n) space啊

【在 w*****t 的大作中提到】
: 有更简洁的做法,one pass with O(1) spaces:
: vector Multiplication(vector &arr)
: {
: if (arr.empty()) return vector();
: const int N = arr.size();
: vector result(N, 1);
: int left = 1, right = 1;
: for (int i = 0; i < N; ++i) {
: result[i] *= left;
: result[N-1-i] *= right;

M********t
发帖数: 5032
35
你做地太好了,他们认为你预先知道答案。

【在 a******u 的大作中提到】
: 三轮
: 1. a) 给出加密的方法'a'->1, ……, 'z'->26. 给一个数,问有多少种解密的方法。
: b) 给你n个用户和k,找出发帖数最多的k个用户。
: 2. a) 给你棵二叉树,节点上有权值,问从一个叶子走到另外一个叶子的路里面权值最
: 大的那条是什么。
: b) 给你数组a1,a2,...,an。输出数组a2*a3*...*an, a1*a3*a4*...*an, ..., a1*
: a2*...*an-1.
: 3. 问简历,问来想做什么工作。一道coding题:Read4k,leetcode上那道“Read N
: Characters Given Read4”类似。
: 前两轮基本bug free.第三轮被抓出些bug。

z***b
发帖数: 127
36
楼主你那个树的题怎么答的?这题要想写好挺不容易啊。
h*********o
发帖数: 230
37
二叉树这个题怎么做啊?

【在 a******u 的大作中提到】
: 三轮
: 1. a) 给出加密的方法'a'->1, ……, 'z'->26. 给一个数,问有多少种解密的方法。
: b) 给你n个用户和k,找出发帖数最多的k个用户。
: 2. a) 给你棵二叉树,节点上有权值,问从一个叶子走到另外一个叶子的路里面权值最
: 大的那条是什么。
: b) 给你数组a1,a2,...,an。输出数组a2*a3*...*an, a1*a3*a4*...*an, ..., a1*
: a2*...*an-1.
: 3. 问简历,问来想做什么工作。一道coding题:Read4k,leetcode上那道“Read N
: Characters Given Read4”类似。
: 前两轮基本bug free.第三轮被抓出些bug。

h*********o
发帖数: 230
38
二叉树这个题怎么做啊?

【在 a******u 的大作中提到】
: 三轮
: 1. a) 给出加密的方法'a'->1, ……, 'z'->26. 给一个数,问有多少种解密的方法。
: b) 给你n个用户和k,找出发帖数最多的k个用户。
: 2. a) 给你棵二叉树,节点上有权值,问从一个叶子走到另外一个叶子的路里面权值最
: 大的那条是什么。
: b) 给你数组a1,a2,...,an。输出数组a2*a3*...*an, a1*a3*a4*...*an, ..., a1*
: a2*...*an-1.
: 3. 问简历,问来想做什么工作。一道coding题:Read4k,leetcode上那道“Read N
: Characters Given Read4”类似。
: 前两轮基本bug free.第三轮被抓出些bug。

w*****t
发帖数: 485
39
如果要算存放结果的空间那就是O(n), 我指的是额外空间占用.
简洁的地方就是one pass, 一般解法都是two pass.

【在 h***k 的大作中提到】
: 算法是对的,但明显是O(n)time O(n) space啊
w*****t
发帖数: 485
40
share 一个:
int maxLeafPath(TreeNode *root, int &maxPath)
{
if (!root) return INT_MIN;
if (!root->left && !root->right) return root->val;
int leftPath = maxLeafPath(root->left, maxPath);
int rightPath = maxLeafPath(root->right, maxPath);
if (root->left && root->right)
maxPath = max(maxPath, root->val + leftPath + rightPath);
return root->val + max(leftPath, rightPath);
}
int maxLeafPath(TreeNode *root)
{
int maxPath = INT_MIN;
maxLeafPath(root, maxPath);
return maxPath;
}

【在 h*********o 的大作中提到】
: 二叉树这个题怎么做啊?
相关主题
Leetcode bst max path-----is this solution correct?非递归求二叉树高度,除了按层次遍历的方法,还可以怎么做?
问一道google面经MS一道onsite面题 白板coding
[面试题] 如何打印一个二叉树level by level?amazon 2nd phone interview
进入JobHunting版参与讨论
L***s
发帖数: 1148
41

jerk不是形容词,谢谢

【在 m****n 的大作中提到】
: FB 是一票否决 完全取决于最jerk的面试官
r****7
发帖数: 2282
42
比如一个只有左节点的树,最后返回的还是INT_MIN

【在 w*****t 的大作中提到】
: share 一个:
: int maxLeafPath(TreeNode *root, int &maxPath)
: {
: if (!root) return INT_MIN;
: if (!root->left && !root->right) return root->val;
: int leftPath = maxLeafPath(root->left, maxPath);
: int rightPath = maxLeafPath(root->right, maxPath);
: if (root->left && root->right)
: maxPath = max(maxPath, root->val + leftPath + rightPath);
: return root->val + max(leftPath, rightPath);

a******u
发帖数: 69
43
我的想法跟你一样。实现有些不同。但思路也是递归的过程中同时更新该节点到叶子的
最大权值路,和以它为中介点的叶到叶最大路。

share 一个:int maxLeafPath(TreeNode *root, int

【在 w*****t 的大作中提到】
: share 一个:
: int maxLeafPath(TreeNode *root, int &maxPath)
: {
: if (!root) return INT_MIN;
: if (!root->left && !root->right) return root->val;
: int leftPath = maxLeafPath(root->left, maxPath);
: int rightPath = maxLeafPath(root->right, maxPath);
: if (root->left && root->right)
: maxPath = max(maxPath, root->val + leftPath + rightPath);
: return root->val + max(leftPath, rightPath);

a******u
发帖数: 69
44
我当时没有考虑到这种不存在叶到叶的path的情况

比如一个只有左节点的树,最后返回的还是INT_MIN

【在 r****7 的大作中提到】
: 比如一个只有左节点的树,最后返回的还是INT_MIN
a******u
发帖数: 69
45
那我也没办法啊,问我leetcode的题。

你做地太好了,他们认为你预先知道答案。

【在 M********t 的大作中提到】
: 你做地太好了,他们认为你预先知道答案。
z***b
发帖数: 127
46
我觉得这些都应该和面试官qualify吧?这也是我觉得这题不好写对的原因。

【在 a******u 的大作中提到】
: 我当时没有考虑到这种不存在叶到叶的path的情况
:
: 比如一个只有左节点的树,最后返回的还是INT_MIN

a******u
发帖数: 69
47
也是的。但他看完我的code说,I think it is correct. 然后就问下一题了。

我觉得这些都应该和面试官qualify吧?这也是我觉得这题不好写对的原因。

【在 z***b 的大作中提到】
: 我觉得这些都应该和面试官qualify吧?这也是我觉得这题不好写对的原因。
z***b
发帖数: 127
48
b) 给你n个用户和k,找出发帖数最多的k个用户。
这题你咋答的? 说的是quick select那个,让你写代码没?

【在 a******u 的大作中提到】
: 也是的。但他看完我的code说,I think it is correct. 然后就问下一题了。
:
: 我觉得这些都应该和面试官qualify吧?这也是我觉得这题不好写对的原因。

c*****m
发帖数: 271
49
1.a看不明白到底要干啥
1.b是用小顶堆么?
2.a二叉树从一个叶子到另外一个叶子不是只有一条路么?
2.b不能用除法的还用一个数组的话是否可以这样:
b[0] = 1
b[1] = an
b[2] = an-1*an
...
b[n-2] = a3*a4*...*an
front = 1
i in [2,n]:
print front*b[n-i]; front*=ai;

【在 a******u 的大作中提到】
: 三轮
: 1. a) 给出加密的方法'a'->1, ……, 'z'->26. 给一个数,问有多少种解密的方法。
: b) 给你n个用户和k,找出发帖数最多的k个用户。
: 2. a) 给你棵二叉树,节点上有权值,问从一个叶子走到另外一个叶子的路里面权值最
: 大的那条是什么。
: b) 给你数组a1,a2,...,an。输出数组a2*a3*...*an, a1*a3*a4*...*an, ..., a1*
: a2*...*an-1.
: 3. 问简历,问来想做什么工作。一道coding题:Read4k,leetcode上那道“Read N
: Characters Given Read4”类似。
: 前两轮基本bug free.第三轮被抓出些bug。

c*****m
发帖数: 271
50
1.a看不明白到底要干啥
1.b是用小顶堆么?
2.a二叉树从一个叶子到另外一个叶子不是只有一条路么?
2.b不能用除法的还用一个数组的话是否可以这样:
b[0] = 1
b[1] = an
b[2] = an-1*an
...
b[n-2] = a3*a4*...*an
front = 1
i in [2,n]:
print front*b[n-i]; front*=ai;
相关主题
Quick selection for k unsorted arraysfb + google 电面面经
如何随机找二叉树中的任意节点?请教一道g算法题
到底什么样的二叉树才是平衡二叉树?TopK nearest points为啥用heap不用selection sort?
进入JobHunting版参与讨论
c*****m
发帖数: 271
51
1.a看不明白到底要干啥
1.b是用小顶堆么?
2.a二叉树从一个叶子到另外一个叶子不是只有一条路么?
2.b不能用除法的还用一个数组的话是否可以这样:
b[0] = 1
b[1] = an
b[2] = an-1*an
...
b[n-2] = a3*a4*...*an
front = 1
i in [2,n]:
print front*b[n-i]; front*=ai;
c*****m
发帖数: 271
52
1.a看不明白到底要干啥
1.b是用小顶堆么?
2.a二叉树从一个叶子到另外一个叶子不是只有一条路么?
2.b不能用除法的还用一个数组的话是否可以这样:
b[0] = 1
b[1] = an
b[2] = an-1*an
...
b[n-2] = a3*a4*...*an
front = 1
i in [2,n]:
print front*b[n-i]; front*=ai;
a******u
发帖数: 69
53
我跟他说了个Nlogk的用heap的方法,他就让我写了。写完也没让我improve。这道题一
定要用quick select吗?
我本身不是很喜欢quick select这种worst case会到n^2的方法。。。但expect time是
n的方法。

b) 给你n个用户和k,找出发帖数最多的k个用户。这题你咋答的? 说的是quick select
那个,让你写代码没?

【在 z***b 的大作中提到】
: b) 给你n个用户和k,找出发帖数最多的k个用户。
: 这题你咋答的? 说的是quick select那个,让你写代码没?

a******u
发帖数: 69
54
1.a就是
11可以解码为k,也可以解码为aa

1.a看不明白到底要干啥1.b是用小顶堆么?2.a二叉树从一个叶子到另外一个叶子不是
只有一条路么?2.b不能用除法的还用一个数组的话是否可以这样:b[0] = 1b[1] = ..
......

【在 c*****m 的大作中提到】
: 1.a看不明白到底要干啥
: 1.b是用小顶堆么?
: 2.a二叉树从一个叶子到另外一个叶子不是只有一条路么?
: 2.b不能用除法的还用一个数组的话是否可以这样:
: b[0] = 1
: b[1] = an
: b[2] = an-1*an
: ...
: b[n-2] = a3*a4*...*an
: front = 1

e*******o
发帖数: 23
55
看到大牛说的select top K有三种方法
Nlogk,这是用堆
klogN,这是用什么方法?
N,这是quick select对吗?
请大牛们指教,实在感谢
z***b
发帖数: 127
56
quick select按 median of median的最优解法worst case 是 O(N),你该提下的。如果
让你写就写那个选一个pivot的就行了
我觉得你已经答得挺好了,多面几家,肯定有好offer.

select

【在 a******u 的大作中提到】
: 我跟他说了个Nlogk的用heap的方法,他就让我写了。写完也没让我improve。这道题一
: 定要用quick select吗?
: 我本身不是很喜欢quick select这种worst case会到n^2的方法。。。但expect time是
: n的方法。
:
: b) 给你n个用户和k,找出发帖数最多的k个用户。这题你咋答的? 说的是quick select
: 那个,让你写代码没?

a******u
发帖数: 69
57
堆的方法就是维护一个小根堆。每次进来一个数就push进堆里。当堆的size大于K的时
候,就pop出来最小的那个。
Quick select期望复杂度是n
运用快排的思路。但每次递归进去下层都是上一层的size的1/2。所以时间复杂度就是
一个power serie的和,which is O(n).

看到大牛说的select top K有三种方法Nlogk,这是用堆klogN,这是用什么方法?N,
这是quick select对吗?请大牛们指教,实在感谢

【在 e*******o 的大作中提到】
: 看到大牛说的select top K有三种方法
: Nlogk,这是用堆
: klogN,这是用什么方法?
: N,这是quick select对吗?
: 请大牛们指教,实在感谢

a******u
发帖数: 69
58
Median of median那个方法我没有仔细研究过,面试的时候也没想起来。写随机pivot
的quick select应该也没有太大问题。但他也没让我写哎。anyway,谢谢鼓励

quick select按 median of median的最优解法worst case 是 O(N),你该提下的。如果
让你写就写那个选一个pivot的就行了我觉得你已经答得........

【在 z***b 的大作中提到】
: quick select按 median of median的最优解法worst case 是 O(N),你该提下的。如果
: 让你写就写那个选一个pivot的就行了
: 我觉得你已经答得挺好了,多面几家,肯定有好offer.
:
: select

c*****m
发帖数: 271
59
1.a看不明白到底要干啥
1.b是用小顶堆么?
2.a二叉树从一个叶子到另外一个叶子不是只有一条路么?
2.b不能用除法的还用一个数组的话是否可以这样:
b[0] = 1
b[1] = an
b[2] = an-1*an
...
b[n-2] = a3*a4*...*an
front = 1
i in [2,n]:
print front*b[n-i]; front*=ai;
c*****m
发帖数: 271
60
1.a看不明白到底要干啥
1.b是用小顶堆么?
2.a二叉树从一个叶子到另外一个叶子不是只有一条路么?
2.b不能用除法的还用一个数组的话是否可以这样:
b[0] = 1
b[1] = an
b[2] = an-1*an
...
b[n-2] = a3*a4*...*an
front = 1
i in [2,n]:
print front*b[n-i]; front*=ai;
相关主题
讨论下面试题的难度分布?题都感觉做对了,面试的人也满意,为什么二面过后还是直接悲剧呢……顺便上P面经
请问一下最大增长子序列的O(nLogk)算法fb电话面试
时隔一年再次得到Amazon电面机会求二叉树最大路径和的变体题
进入JobHunting版参与讨论
c*****m
发帖数: 271
61


【在 a******u 的大作中提到】
: 好吧。看来我的确多用了数组。但以我回来过往的经历,面试官会让我改进方法。所以
: 我习惯一开始给出最好解释的方法,然后等他让我改进。
:
: re and zan.可能楼主大体思路上都对了, 但细节上不够优化。

h*********o
发帖数: 230
62
二叉树这个题怎么做啊?

【在 a******u 的大作中提到】
: 三轮
: 1. a) 给出加密的方法'a'->1, ……, 'z'->26. 给一个数,问有多少种解密的方法。
: b) 给你n个用户和k,找出发帖数最多的k个用户。
: 2. a) 给你棵二叉树,节点上有权值,问从一个叶子走到另外一个叶子的路里面权值最
: 大的那条是什么。
: b) 给你数组a1,a2,...,an。输出数组a2*a3*...*an, a1*a3*a4*...*an, ..., a1*
: a2*...*an-1.
: 3. 问简历,问来想做什么工作。一道coding题:Read4k,leetcode上那道“Read N
: Characters Given Read4”类似。
: 前两轮基本bug free.第三轮被抓出些bug。

a******u
发帖数: 69
63
weibest在前面给出了做法。

二叉树这个题怎么做啊?

【在 h*********o 的大作中提到】
: 二叉树这个题怎么做啊?
w*****t
发帖数: 485
64
用三数取中法简单些,最坏有O(N^2)的可能性,但非常低:
int SelectPivot(vector &a, int low, int high)
{
// 三数取中法
assert(low >= 0);
if (low >= high) return low;
int mid = low + (high - low) / 2;
if (a[low] < a[mid]) swap(a[low], a[mid]);
if (a[mid] < a[high]) swap(a[mid], a[high]);
if (a[low] < a[mid]) swap(a[low], a[mid]);
// hide pivot
// |--low--| ... |--pivot--|--high--|
swap(a[mid], a[high-1]);
return high - 1;
}

pivot

【在 a******u 的大作中提到】
: Median of median那个方法我没有仔细研究过,面试的时候也没想起来。写随机pivot
: 的quick select应该也没有太大问题。但他也没让我写哎。anyway,谢谢鼓励
:
: quick select按 median of median的最优解法worst case 是 O(N),你该提下的。如果
: 让你写就写那个选一个pivot的就行了我觉得你已经答得........

1 (共1页)
进入JobHunting版参与讨论
相关主题
讨论下面试题的难度分布?问一道google面经
请问一下最大增长子序列的O(nLogk)算法[面试题] 如何打印一个二叉树level by level?
时隔一年再次得到Amazon电面机会非递归求二叉树高度,除了按层次遍历的方法,还可以怎么做?
题都感觉做对了,面试的人也满意,为什么二面过后还是直接悲剧呢……顺便上P面经MS一道onsite面题 白板coding
fb电话面试amazon 2nd phone interview
求二叉树最大路径和的变体题Quick selection for k unsorted arrays
讨论一道LeetCode题:Binary Tree Maximum Path Sum如何随机找二叉树中的任意节点?
Leetcode bst max path-----is this solution correct?到底什么样的二叉树才是平衡二叉树?
相关话题的讨论汇总
话题: int话题: result话题: front话题: root话题: 二叉树