楼主: oopghi
跳转到指定楼层
上一主题 下一主题
收起左侧

Google MTV 电面+Onsite

🔗
blactangeri 2015-10-16 08:49:51 | 只看该作者
全局:
请问lz
(2) 一个Binary Tree,每个Node都有value,在树中切掉一个edge,变成两个树,找出哪里切导致两个数的Value总和差值最小。

这个题你的解法是遍历每个节点,求(根节点的值 - 切断的节点的值)和(切断的节点的值)的差值的min吗
回复

使用道具 举报

🔗
blactangeri 2015-10-16 08:55:57 | 只看该作者
全局:
另外N-ary tree的解法能不能详细说下。谢谢
回复

使用道具 举报

🔗
 楼主| oopghi 2015-10-16 10:47:24 | 只看该作者
全局:
blactangeri 发表于 2015-10-16 08:49
请问lz
(2) 一个Binary Tree,每个Node都有value,在树中切掉一个edge,变成两个树,找出哪里切导致两个 ...

是这样的,当时没让写具体代码,只让写了写伪码~
回复

使用道具 举报

🔗
 楼主| oopghi 2015-10-16 11:12:36 | 只看该作者
全局:
blactangeri 发表于 2015-10-16 08:55
另外N-ary tree的解法能不能详细说下。谢谢

直接上代码吧,这样比较清楚!没有测试,可能有小bug,但是思路就是DFS + DP
  1. class TreeNode {
  2.     int val;
  3.     List<TreeNode> children;
  4.     public TreeNode() {
  5.         val = 0;
  6.         children = new ArrayList<TreeNode>();
  7.     }
  8. }

  9. class Wapper {
  10.     TreeNode node;
  11.     int parentVal;
  12.     public Wapper(TreeNode node, int parentVal) {
  13.         this.node = node;
  14.         this.parentVal = parentVal;
  15.     }
  16.     @Override
  17.     public boolean equals(Wapper an) {
  18.     return this.node == an.node && this.parentVal == an.parentVal;
  19.     }
  20. }

  21. public int maxVal(TreeNode root) {
  22.     if(root == null) return 0;
  23.     HashMap<Wapper, Integer> map = new HashMap<Wapper, Integer>();
  24.     return maxValRec(root, -1, map);
  25. }

  26. public int maxValRec(TreeNode node, int parentVal, HashMap<Wapper, Integer> map) {
  27.     if(node == null) return 0;
  28.     Wapper wa = new Wapper(node, parentVal);
  29.     if(map.containsKey(wa)) return map.get(wa);

  30.     int bestVal = 0;
  31.     int max = 0;
  32.     for(int i=1; i<=10; i++) {
  33.         if(i == parentVal) continue;
  34.         int sum = i;
  35.         for(TreeNode child : node.children)
  36.             sum += maxValRec(child, i, map);
  37.         if(sum > max) {
  38.         max = sum;
  39.         bestVal = i;
  40.         }
  41.     }
  42.     node.val = bestVal;
  43.     map.put(wa, max);
  44.     return max;
  45. }
复制代码

评分

参与人数 1大米 +5 收起 理由
又见紫风铃 + 5 赞!

查看全部评分

回复

使用道具 举报

🔗
storm_hair 2015-10-16 11:14:15 | 只看该作者
全局:
所以有offer的都是第二天就联系么
回复

使用道具 举报

🔗
 楼主| oopghi 2015-10-16 11:16:51 | 只看该作者
全局:
storm_hair 发表于 2015-10-16 11:14
所以有offer的都是第二天就联系么

我是上周三面的,明天出结果,所以也等了10天左右。
回复

使用道具 举报

🔗
 楼主| oopghi 2015-10-17 10:29:17 | 只看该作者
全局:
还是被拒了,5555555555555555
回复

使用道具 举报

🔗
blactangeri 2015-10-17 11:05:58 | 只看该作者
全局:
oopghi 发表于 2015-10-17 10:29
还是被拒了,5555555555555555

lz加油。。。看来都答出来也没用啊。。
回复

使用道具 举报

🔗
 楼主| oopghi 2015-10-17 11:09:12 | 只看该作者
全局:
blactangeri 发表于 2015-10-17 11:05
lz加油。。。看来都答出来也没用啊。。

然后就立刻从了Tableau了,找工作到此为止~
回复

使用道具 举报

🔗
nothingtrouble 2015-10-17 23:55:28 | 只看该作者
全局:
oopghi 发表于 2015-10-17 11:09
然后就立刻从了Tableau了,找工作到此为止~

T非常不错了,我一直想去,可惜bar太高,直接悲剧了。恭喜lz找到好工作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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