由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 攒人品,amazon一面经历
相关主题
如何判断两个BST的元素是一样的?帮我看一下5行代码
[leetcode] Binary Tree from Inorder & Postorder Traversal说说面了几个老印的体会
Construct Binary Tree from Inorder and Postorder Traversalleetcode里面的Recover Binary Search Tree怎么用O(1)space
讨论一道leetcode上面的题Print all the paths from root to every leaf 的 iterative
Tree的traversal也分BFS和DFS?大牛帮我看看这哪错了? iterative inorder traversal
F家phone interview的一道题再来bitch一下
一个电面疑问树 inorder下个节点最好办法是啥
问几个有关Binary tree的题吐槽一个面试
相关话题的讨论汇总
话题: cur话题: array话题: set话题: pop话题: bst
进入JobHunting版参与讨论
1 (共1页)
f******c
发帖数: 80
1
刚amazon一面,白人男,问的题目挺简单,都是类似于论坛里出现过的题目
1、介绍了他所在的组,blablabla。。。
2、问了些几道java概念,final 和finally区别,thread怎么用等等。。。。
下面是两道老的算法题,全程念code。。。。。
3、老题目,given an unsorted array and an integer, 找array里是否存在一个pair
之和等于integer。他要求O(n),不能首先sort the array. 他提示用Set来做,做完还
问了怎么写test cases 验证代码正确。
4、判断两个BST是否完全相同,让用recursive 和non-recursive两种方法都做一遍,
念code。
然后就结束了,我在让写test cases的时候,不知道怎么写了。。。
现在amazon的面试题目都是经常出现的题目,唯一问题是面的时候用结结巴巴的口语念
代码真是念得头大啊。。。(想面amazon的还是好好临阵磨枪代码怎么念。。。),
f*******t
发帖数: 7549
2

bless
g*****k
发帖数: 623
3
bless
non-recursive 判断BST是否相同,除了pre-order iterative traversal
外还有什么好办法吗?

pair

【在 f******c 的大作中提到】
: 刚amazon一面,白人男,问的题目挺简单,都是类似于论坛里出现过的题目
: 1、介绍了他所在的组,blablabla。。。
: 2、问了些几道java概念,final 和finally区别,thread怎么用等等。。。。
: 下面是两道老的算法题,全程念code。。。。。
: 3、老题目,given an unsorted array and an integer, 找array里是否存在一个pair
: 之和等于integer。他要求O(n),不能首先sort the array. 他提示用Set来做,做完还
: 问了怎么写test cases 验证代码正确。
: 4、判断两个BST是否完全相同,让用recursive 和non-recursive两种方法都做一遍,
: 念code。
: 然后就结束了,我在让写test cases的时候,不知道怎么写了。。。

f******c
发帖数: 80
4
我就用了in-order traversal and convert to two arrays,then compare...没有问有
没有更好的方法。。

【在 g*****k 的大作中提到】
: bless
: non-recursive 判断BST是否相同,除了pre-order iterative traversal
: 外还有什么好办法吗?
:
: pair

g*****k
发帖数: 623
5
in-order? 该用pre-order啊。

【在 f******c 的大作中提到】
: 我就用了in-order traversal and convert to two arrays,then compare...没有问有
: 没有更好的方法。。

f******c
发帖数: 80
6
该用in-order, left->node->right

【在 g*****k 的大作中提到】
: in-order? 该用pre-order啊。
g*****k
发帖数: 623
7
think again,
2
1 3

1
2
3

【在 f******c 的大作中提到】
: 该用in-order, left->node->right
f******c
发帖数: 80
8
用in-order 两个都是1,2,3啊

【在 g*****k 的大作中提到】
: think again,
: 2
: 1 3
: 和
: 1
: 2
: 3

g*****k
发帖数: 623
9
那这两个BST完全相同?

【在 f******c 的大作中提到】
: 用in-order 两个都是1,2,3啊
f******c
发帖数: 80
10
对,看来弄错了。。。

【在 g*****k 的大作中提到】
: 那这两个BST完全相同?
相关主题
F家phone interview的一道题帮我看一下5行代码
一个电面疑问说说面了几个老印的体会
问几个有关Binary tree的题leetcode里面的Recover Binary Search Tree怎么用O(1)space
进入JobHunting版参与讨论
g*****i
发帖数: 2162
11
我觉得inorder,preorder, postorder的iterative都可以吧,但是我们不是比较结果,而
是过程. 入栈的时候两个数要都有node入,如果有exception说明结构不同.出栈的时候
值要一样.

【在 g*****k 的大作中提到】
: bless
: non-recursive 判断BST是否相同,除了pre-order iterative traversal
: 外还有什么好办法吗?
:
: pair

s******n
发帖数: 226
12
BST inorder 不唯一确定树

【在 g*****i 的大作中提到】
: 我觉得inorder,preorder, postorder的iterative都可以吧,但是我们不是比较结果,而
: 是过程. 入栈的时候两个数要都有node入,如果有exception说明结构不同.出栈的时候
: 值要一样.

S********y
发帖数: 565
13
g*****i
发帖数: 2162
14
但是我只要保证类似如下情况:当a树插入一个left child的时候,另外的b数也能插入一
个left child.right child也一样.当a树的stack pop一个值的时候,b树也能pop一个值
并且值相同. 这些用来判断两树相同应该已经够了.

【在 s******n 的大作中提到】
: BST inorder 不唯一确定树
s******n
发帖数: 226
15
你说的是对的
但是iterative的inorder相对preorder要复杂一些,用preorder更clean一些,我觉得
,而且只看pop的时候两个值相同就行。

【在 g*****i 的大作中提到】
: 但是我只要保证类似如下情况:当a树插入一个left child的时候,另外的b数也能插入一
: 个left child.right child也一样.当a树的stack pop一个值的时候,b树也能pop一个值
: 并且值相同. 这些用来判断两树相同应该已经够了.

p********o
发帖数: 640
16
弱弱的 问一句 。。
第3 题目是什么意思啊 就是 找到 2个数字 加起来等某一个数字么?
为啥要用 set
hashtable 可以不?
m**q
发帖数: 189
17
只看pop的两个值是不够的,比如getback上面举得例子。
两个树pop pre-order traversal pop的顺序都是1,2,3
guangyi说的看过程大概是可以的,或者就干脆最直接的
preorder + inorder 或者 postorder + inorder

【在 s******n 的大作中提到】
: 你说的是对的
: 但是iterative的inorder相对preorder要复杂一些,用preorder更clean一些,我觉得
: ,而且只看pop的时候两个值相同就行。

s******n
发帖数: 226
18
可能我没说清楚,不只是看pop什么值
比如 inorder
while(cur || !s.empty()){
if(cur){
1// s.push(cur); cur = cur.left;
}else{
2// cur = s.pop();
visit(cur);
cur = cur.right;
}
}
1和2 check两个地方,就是push和pop都检查,也看分支,这样就没有问题了

【在 m**q 的大作中提到】
: 只看pop的两个值是不够的,比如getback上面举得例子。
: 两个树pop pre-order traversal pop的顺序都是1,2,3
: guangyi说的看过程大概是可以的,或者就干脆最直接的
: preorder + inorder 或者 postorder + inorder

r*******y
发帖数: 1081
19
#3. How to use Set? divide the array into two sets and one contains the
numbers less than one half of the integer and the other set contains the
numbers greater than one half of the integer? then what to do?
f*******t
发帖数: 7549
20
对array中每一个数a,在set里查找是否有sum-a,然后把a放进set

【在 r*******y 的大作中提到】
: #3. How to use Set? divide the array into two sets and one contains the
: numbers less than one half of the integer and the other set contains the
: numbers greater than one half of the integer? then what to do?

相关主题
Print all the paths from root to every leaf 的 iterative树 inorder下个节点最好办法是啥
大牛帮我看看这哪错了? iterative inorder traversal吐槽一个面试
再来bitch一下面试被三哥黑了,如何去complaint
进入JobHunting版参与讨论
r*******y
发帖数: 1081
21
but this is O(n^2) if not using hashing?

【在 f*******t 的大作中提到】
: 对array中每一个数a,在set里查找是否有sum-a,然后把a放进set
a**********2
发帖数: 340
22
我觉得三种DFS都可行,在stack里面存pair instead of
TreeNode×

【在 g*****k 的大作中提到】
: 那这两个BST完全相同?
R****i
发帖数: 104
23
除了比较1 2 3以外, 还可以比较以下指针结构吧。
比如本例中的1一个left == right == null; 另外一个的left == null, right !=
null.

【在 g*****k 的大作中提到】
: think again,
: 2
: 1 3
: 和
: 1
: 2
: 3

c**m
发帖数: 535
24
第三题,unsorted array,O(n)的时间内,只能是hashtable吧
y******n
发帖数: 47
25

一样的, 其实是hashset,底层实现是hashtable

【在 p********o 的大作中提到】
: 弱弱的 问一句 。。
: 第3 题目是什么意思啊 就是 找到 2个数字 加起来等某一个数字么?
: 为啥要用 set
: hashtable 可以不?

y******n
发帖数: 47
26

既然是BST, 那么只用preorder或者postorder序列就可以判断出来了吧, 不需要两个序
列. 一般的binary tree需要两个序列

【在 m**q 的大作中提到】
: 只看pop的两个值是不够的,比如getback上面举得例子。
: 两个树pop pre-order traversal pop的顺序都是1,2,3
: guangyi说的看过程大概是可以的,或者就干脆最直接的
: preorder + inorder 或者 postorder + inorder

p****e
发帖数: 37
27
这么做有一个问题,就是如果有一个数a刚好是sum的一半,结果就不对了。如果写代码
的话还要特殊处理一下

【在 f*******t 的大作中提到】
: 对array中每一个数a,在set里查找是否有sum-a,然后把a放进set
1 (共1页)
进入JobHunting版参与讨论
相关主题
吐槽一个面试Tree的traversal也分BFS和DFS?
面试被三哥黑了,如何去complaintF家phone interview的一道题
怎么提高BST traversal efficiency?一个电面疑问
豁出去了,决定怒刷100题问几个有关Binary tree的题
如何判断两个BST的元素是一样的?帮我看一下5行代码
[leetcode] Binary Tree from Inorder & Postorder Traversal说说面了几个老印的体会
Construct Binary Tree from Inorder and Postorder Traversalleetcode里面的Recover Binary Search Tree怎么用O(1)space
讨论一道leetcode上面的题Print all the paths from root to every leaf 的 iterative
相关话题的讨论汇总
话题: cur话题: array话题: set话题: pop话题: bst