由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Zenefits Onsite 一题讨论
相关主题
binary tree的最长root leaf pathFind a sub tree with min weight怎么做
请教一个C++问题渣渣cs本科半应届如何找工作
twitter 面经(Update)[包子求助] Graph matching problem
LCA复杂度是多少Given a node of a tree, find all nodes on the same level
LCA复杂度MS onsite 面经
mirror 一个binary tree, 用non-recursive解法怎么做G家电面面经--佛云了~~
插入节点到complete binary tree的末尾贡献A家面经
FB面经一道linkedin的graph题
相关话题的讨论汇总
话题: child话题: weight话题: root话题: zenefits话题: onsite
进入JobHunting版参与讨论
1 (共1页)
m****i
发帖数: 650
1
一个undirected network without cycle,要求求得节点具有到其他节点的最小
distance,也就是node with min(sum_of_distance_to_other_nodes)。这道题弄了一
些时间,开始直接说对每个点BFS。然后慢慢的讨论优化,因为图无环,最后弄出来的
算法是O(n)的。但是代码只写出来了一半,不过之前跟他讨论得很详细了,也先给出了伪
代码,所以感觉他也满意了。
有人答过如下,没有理解:)
想成是个tree,找出所有的leaf,然后把所有leaf放到一个list里
做reverseBFS, 从leaf开始每走一层就加一个weight(sum(child weight) * 2 + 1),
最终会找到一个root。
然后就是balance tree by weight,
从root开始试每个child,如果把那个child假设成root,
child_weight = root.weight - child.weight + (# of root's child - 1)
找出最小的child_weight,把那个child变成root。
直到root.weight小于任何一个child_weight。
结果好像是O(n + logn) = O(n)?
http://www.mitbbs.com/article/JobHunting/32967735_0.html
1 (共1页)
进入JobHunting版参与讨论
相关主题
一道linkedin的graph题LCA复杂度
贡献G电 估计挂了mirror 一个binary tree, 用non-recursive解法怎么做
为人父母,发面经,攒人品,求REFER插入节点到complete binary tree的末尾
L家onsite面经FB面经
binary tree的最长root leaf pathFind a sub tree with min weight怎么做
请教一个C++问题渣渣cs本科半应届如何找工作
twitter 面经(Update)[包子求助] Graph matching problem
LCA复杂度是多少Given a node of a tree, find all nodes on the same level
相关话题的讨论汇总
话题: child话题: weight话题: root话题: zenefits话题: onsite