由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - A家面经求Offer
相关主题
请教这么一个题:BST maximum sum path问到G家题
这最小公共父母节点有bug吗?java问题
大家帮忙看看 问题在哪啊?由preorder 来建 bst,为什么后面没求问一个Java问题
问题在哪儿啊 kth Node of BST,大家帮忙Find the node with given value in binary tree in in-order
leetcode上的sorted list to BST请问LC上一道题:Validate BST
发现一个很恶心的基础问题BST查找next lowest 可以达到 O(lg N)?
讨论几道google题(附个人答案)有人听说过FIS GT.M吗?上面经
把leetcode做完了请教一个BST找Median的题目
相关话题的讨论汇总
话题: employee话题: null话题: bst话题: node话题: list
进入JobHunting版参与讨论
1 (共1页)
r******k
发帖数: 46
1
面的SDE intern,题目比较简单,但是第二题没答好,希望能拿到offer
1号:
谈谈经历
讨论了一下hashtable的特性,collision怎么办,复杂度如何
hashset和treeset的利弊
然后是题目: BST的第二大元素
2号:
(感觉面试官没怎么好好准备)
OOP题目
一个company,有boss,vp,dir,manager,employee,让设计类
boss下面有2个vp,vp下面有3个dir。然后又让改成节约空间的,再让改成节约时间的
(其实就是想让我用tree实现,无奈OOP太不熟练了,没想到)
a***o
发帖数: 1182
2
这俩是背靠背吗?

【在 r******k 的大作中提到】
: 面的SDE intern,题目比较简单,但是第二题没答好,希望能拿到offer
: 1号:
: 谈谈经历
: 讨论了一下hashtable的特性,collision怎么办,复杂度如何
: hashset和treeset的利弊
: 然后是题目: BST的第二大元素
: 2号:
: (感觉面试官没怎么好好准备)
: OOP题目
: 一个company,有boss,vp,dir,manager,employee,让设计类

c********t
发帖数: 5706
3
然后是题目: BST的第二大元素
应该是 从右子树开始inorder travesal的第二个吧。要求必须iteration吗?

【在 r******k 的大作中提到】
: 面的SDE intern,题目比较简单,但是第二题没答好,希望能拿到offer
: 1号:
: 谈谈经历
: 讨论了一下hashtable的特性,collision怎么办,复杂度如何
: hashset和treeset的利弊
: 然后是题目: BST的第二大元素
: 2号:
: (感觉面试官没怎么好好准备)
: OOP题目
: 一个company,有boss,vp,dir,manager,employee,让设计类

l*******b
发帖数: 2586
4
找到最大然后call一下in order previous?

【在 c********t 的大作中提到】
: 然后是题目: BST的第二大元素
: 应该是 从右子树开始inorder travesal的第二个吧。要求必须iteration吗?

r******k
发帖数: 46
5
没要求,虽然我当时是用iteration

【在 c********t 的大作中提到】
: 然后是题目: BST的第二大元素
: 应该是 从右子树开始inorder travesal的第二个吧。要求必须iteration吗?

f*******7
发帖数: 943
6
Bless
p*****2
发帖数: 21240
7

就是最右叶子的父亲吧?如果没有右子树,就是左子树的最右叶子。

【在 c********t 的大作中提到】
: 然后是题目: BST的第二大元素
: 应该是 从右子树开始inorder travesal的第二个吧。要求必须iteration吗?

e****e
发帖数: 418
8
bless! recursion is a simple solution based on coldknight's suggestion. It's
the reverse inorder.
first right sub-tree
then itself
last left sub-tree.
p*****2
发帖数: 21240
9

's
没这么麻烦吧?

【在 e****e 的大作中提到】
: bless! recursion is a simple solution based on coldknight's suggestion. It's
: the reverse inorder.
: first right sub-tree
: then itself
: last left sub-tree.

d**********x
发帖数: 4083
10
1
\
3
/
2

【在 p*****2 的大作中提到】
:
: 's
: 没这么麻烦吧?

相关主题
发现一个很恶心的基础问题问到G家题
讨论几道google题(附个人答案)java问题
把leetcode做完了求问一个Java问题
进入JobHunting版参与讨论
p*****2
发帖数: 21240
11
错了呗。
1
\
2
/
3
这个是BST吗?
d**********x
发帖数: 4083
12
我改了
想的是上面那个

【在 p*****2 的大作中提到】
: 错了呗。
: 1
: \
: 2
: /
: 3
: 这个是BST吗?

p*****2
发帖数: 21240
13

确实呀。我想一下。

【在 d**********x 的大作中提到】
: 我改了
: 想的是上面那个

e****e
发帖数: 418
14
recursion不麻烦。几行代码而已.
int count = 0;
Node found;
public void secondLargest(Node root) {
if ( root == null )
return;
secondLargest( root.right );
count++;
if ( count == 2 ) {
found = root;
return;
}
secondLargest( root.left );
}

【在 p*****2 的大作中提到】
:
: 确实呀。我想一下。

p*****2
发帖数: 21240
15

主要是面试的时候很可能不让用recursion

【在 e****e 的大作中提到】
: recursion不麻烦。几行代码而已.
: int count = 0;
: Node found;
: public void secondLargest(Node root) {
: if ( root == null )
: return;
: secondLargest( root.right );
: count++;
: if ( count == 2 ) {
: found = root;

d**********x
发帖数: 4083
16
你的方向应该是对的
只是情况没考虑周全。。。

【在 p*****2 的大作中提到】
:
: 主要是面试的时候很可能不让用recursion

a***o
发帖数: 1182
17
最右叶子,如果有左子树,那就是左子树的最右叶子
否则就是父亲,如果没有父亲,就是左子树的最右叶子
一共三种情况

【在 p*****2 的大作中提到】
:
: 主要是面试的时候很可能不让用recursion

c********t
发帖数: 5706
18
那就用stack啊

【在 p*****2 的大作中提到】
:
: 主要是面试的时候很可能不让用recursion

d**********x
发帖数: 4083
19
1
\
3
/
2
\
2.5

【在 a***o 的大作中提到】
: 最右叶子,如果有左子树,那就是左子树的最右叶子
: 否则就是父亲,如果没有父亲,就是左子树的最右叶子
: 一共三种情况

a***o
发帖数: 1182
20
你这个不是BST吧
3的左子树都要<3的

【在 d**********x 的大作中提到】
: 1
: \
: 3
: /
: 2
: \
: 2.5

相关主题
Find the node with given value in binary tree in in-order有人听说过FIS GT.M吗?上面经
请问LC上一道题:Validate BST请教一个BST找Median的题目
BST查找next lowest 可以达到 O(lg N)?一道dropbox面试题
进入JobHunting版参与讨论
d**********x
发帖数: 4083
21
sorry
我总是想到那个结构。。然后数字写错,你看我改的

【在 a***o 的大作中提到】
: 你这个不是BST吧
: 3的左子树都要<3的

p*****2
发帖数: 21240
22

def secondLargest(root:TreeNode):TreeNode={
if(root==null || root.left==null && root.right==null) return null
var node=root
while(node.right!=null && node.right.right!=null) node=node.right
if(node.right==null || node.right.left!=null){
node=if(node.right==null) node.left else node.right.left
while(node.right!=null) node=node.right
}
node
}
这个行吗?还没好好过test case

【在 d**********x 的大作中提到】
: 你的方向应该是对的
: 只是情况没考虑周全。。。

a***o
发帖数: 1182
23
3kx,我也改了一下,改成左子树的最有叶子

【在 d**********x 的大作中提到】
: sorry
: 我总是想到那个结构。。然后数字写错,你看我改的

p*****2
发帖数: 21240
24

这题应该没那么麻烦。

【在 c********t 的大作中提到】
: 那就用stack啊
d**********x
发帖数: 4083
25
看这个
http://bbs.sjtu.edu.cn/bbscon,board,Algorithm,file,M.1041171619
其中那个in-order的前驱

【在 p*****2 的大作中提到】
:
: 这题应该没那么麻烦。

p*****2
发帖数: 21240
26

我的思路跟你是一样的。有什么问题吗?

【在 a***o 的大作中提到】
: 3kx,我也改了一下,改成左子树的最有叶子
d**********x
发帖数: 4083
27
那就应该没问题了

【在 p*****2 的大作中提到】
:
: 我的思路跟你是一样的。有什么问题吗?

c********t
发帖数: 5706
28
如果node没有parent 指针,前驱怎么找?我看还要遍历才行。

【在 d**********x 的大作中提到】
: 看这个
: http://bbs.sjtu.edu.cn/bbscon,board,Algorithm,file,M.1041171619
: 其中那个in-order的前驱

d**********x
发帖数: 4083
29
这个特殊问题里不需要,只要记录两个节点,轮换着来就行了
因为这个问题里前驱无非是最右leaf的左子树的最大节点,或者是它的parent。

【在 c********t 的大作中提到】
: 如果node没有parent 指针,前驱怎么找?我看还要遍历才行。
p*****2
发帖数: 21240
30

看看我的code有没有什么问题。

【在 c********t 的大作中提到】
: 如果node没有parent 指针,前驱怎么找?我看还要遍历才行。
相关主题
Zenefits 现在真是跩啊,中途把我面试取消了这最小公共父母节点有bug吗?
FB面经大家帮忙看看 问题在哪啊?由preorder 来建 bst,为什么后面没
请教这么一个题:BST maximum sum path问题在哪儿啊 kth Node of BST,大家帮忙
进入JobHunting版参与讨论
c********t
发帖数: 5706
31
明白了,没有问题。
多谢devil和二爷!

【在 p*****2 的大作中提到】
:
: 看看我的code有没有什么问题。

p*****2
发帖数: 21240
32
算法稍微改进了一下,放到博客了
http://blog.sina.com.cn/s/blog_b9285de20101icm1.html
e***s
发帖数: 799
33
求设计题答案,节约空间,节约时间是个什么做法?
e****e
发帖数: 418
34
I'm not sure about "节约空间,节约时间是个什么做法?".
Here are my classes.
enum Role{
BOSS,
VP,
DIR,
MANAGER,
...
}
class Employee{
String id;
Role role;
List managed;
}
Maybe another class keep track of all references to the vips, dirs, managers
... so we can get them from this class by a single get method instead of
traversing from Boss employee. Like
class QuickRetrival {
List vips;
List dirs;
List managers;
...
}

【在 e***s 的大作中提到】
: 求设计题答案,节约空间,节约时间是个什么做法?
e***s
发帖数: 799
35
谢谢,有没有大牛能解释一下节约空间,节约时间是怎么个思路?

【在 e****e 的大作中提到】
: I'm not sure about "节约空间,节约时间是个什么做法?".
: Here are my classes.
: enum Role{
: BOSS,
: VP,
: DIR,
: MANAGER,
: ...
: }
: class Employee{

e***s
发帖数: 799
36
我推敲了一下,是不是用继承比较好。
class Employee{
UUID id;
String name;
List subordinates;
...
}
class Boss extends Employee{
}
class VP extends Employee{
}
...
这样是不是更符合开闭原则?

【在 e****e 的大作中提到】
: I'm not sure about "节约空间,节约时间是个什么做法?".
: Here are my classes.
: enum Role{
: BOSS,
: VP,
: DIR,
: MANAGER,
: ...
: }
: class Employee{

1 (共1页)
进入JobHunting版参与讨论
相关主题
请教一个BST找Median的题目leetcode上的sorted list to BST
一道dropbox面试题发现一个很恶心的基础问题
Zenefits 现在真是跩啊,中途把我面试取消了讨论几道google题(附个人答案)
FB面经把leetcode做完了
请教这么一个题:BST maximum sum path问到G家题
这最小公共父母节点有bug吗?java问题
大家帮忙看看 问题在哪啊?由preorder 来建 bst,为什么后面没求问一个Java问题
问题在哪儿啊 kth Node of BST,大家帮忙Find the node with given value in binary tree in in-order
相关话题的讨论汇总
话题: employee话题: null话题: bst话题: node话题: list