回复: 24
收起左侧

Facebook 2/28电面面经

本楼:   👍  0
0%
0%
0   👎
全局:   125
100%
0%
0

2018(1-3月) 码农类General 硕士 实习@facebook - 内推 - 技术电面  | Fail | 其他

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
回报地里一个fb的跪经。28的电面,心态不行啊~~太紧张了。。题目也是从来没见过。。面的太渣。白人小哥。不怎么有耐心。只做出来一道题,回报一
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
所有节点。数据结构自己定义。

评分

参与人数 8大米 +41 收起 理由
是否行走 + 5 欢迎来一亩三分地论坛!
prime + 3 感谢分享!
cywaner + 3 感谢分享!
lanluotiankong + 1 感谢分享!
潜水小鱼 + 5 坚持的不错,再接再厉!

查看全部评分


上一篇:【有新题】 indeed 3/1 onsite 面经
下一篇:求助:有最近面过Akuna Capital Onsite的吗?

本帖被以下淘专辑推荐:

adrianliu729 2017-3-3 14:25:21 | 显示全部楼层
本楼:   👍  1
100%
0%
0   👎
全局:   303
91%
9%
31
uestcxzk 发表于 2017-3-3 14:02
我觉得要在root上方再加个dummy,否则root如果满足条件的话删不掉

        public static void remove(TreeNode root) {
                if(root == null) return;
                if(removeHelper(root) == 0) {
                        root = null;
                }
        }
       
        public static int removeHelper(TreeNode root) {
                if(root == null) return 0;
               
                int sum = root.val;
                Iterator<TreeNode> iter = root.children.iterator();
                while(iter.hasNext()) {
                        TreeNode child = iter.next();
                        int childSum = removeHelper(child);
                        if(childSum == 0) {
                                iter.remove();
                        }
                        sum += childSum;
                }
                return sum;
        }



补充内容 (2017-3-3 14:25):
Good point. 这样可以吗?
回复

使用道具 举报

adrianliu729 2017-3-3 05:25:52 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   303
91%
9%
31
        public static int remove(TreeNode root) {
                if(root == null) return 0;
               
                int sum = 0;
                Iterator<TreeNode> iter = root.children.iterator();
                while(iter.hasNext()) {
                        TreeNode child = iter.next();
                        int childSum = remove(child);
                        if(childSum == 0) {
                                iter.remove();
                        }
                        sum += childSum;
                }
                return sum;
        }


补充内容 (2017-3-3 05:26):
楼主请帮忙看下。谢谢了!
扫码关注一亩三分地求职移民公众号
更多干货内容等你发现
回复

使用道具 举报

adrianliu729 2017-3-3 03:34:15 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   303
91%
9%
31
这个好像不在面经里面啊,你怎么做的啊
回复

使用道具 举报

agraynel 2017-3-3 04:21:44 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   192
98%
2%
3
请问可以详细点吗
回复

使用道具 举报

 楼主| nice_lady802 2017-3-3 04:39:52 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   125
100%
0%
0
adrianliu729 发表于 2017-3-3 03:34
这个好像不在面经里面啊,你怎么做的啊

递归~用array存子节点。写个循环。。如果sum为零。就直接remove

评分

参与人数 4大米 +14 收起 理由
是否行走 + 5 感谢分享!
prime + 3 感谢分享!
cywaner + 3 坚持的不错,再接再厉!
lixz0087 + 3 谢谢你的介绍!

查看全部评分

回复

使用道具 举报

adrianliu729 2017-3-3 04:41:15 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   303
91%
9%
31
照你这么说,就不能边遍历边删除了,因为你删掉这个节点之后,它的父亲来得到sum就变了。能不能把sum算出来存着,然后第二遍专门来删除?
回复

使用道具 举报

 楼主| nice_lady802 2017-3-3 04:42:22 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   125
100%
0%
0
agraynel 发表于 2017-3-3 04:21
请问可以详细点吗

自己定义一个数据结构来表示一个tree,子节点数目是未知的。如果结点+该节点所有子节点的val为零的话,删掉该节点

评分

参与人数 4大米 +14 收起 理由
是否行走 + 5 感谢分享!
prime + 3 感谢分享!
cywaner + 3 感谢分享!
lixz0087 + 3 很有用的信息!

查看全部评分

回复

使用道具 举报

 楼主| nice_lady802 2017-3-3 04:42:54 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   125
100%
0%
0
daguanyuan 发表于 2017-3-3 04:31
请问:如果子节点和为0的话,是连子节点一起删掉么?

描述有误~不好意思哦。该节点的val加上所有子节点的val为零,连该节点一起删掉。

评分

参与人数 1大米 +3 收起 理由
lixz0087 + 3 谢谢你的介绍!

查看全部评分

回复

使用道具 举报

 楼主| nice_lady802 2017-3-3 04:45:22 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   125
100%
0%
0
adrianliu729 发表于 2017-3-3 04:41
照你这么说,就不能边遍历边删除了,因为你删掉这个节点之后,它的父亲来得到sum就变了。能不能把sum算出来 ...

你的子节点sum和为零的话,删不删都对父节点没有影响吧。+0和-0有什么关系呢。

评分

参与人数 2大米 +6 收起 理由
cywaner + 3 谢谢你的介绍!
lixz0087 + 3 回答的很好!

查看全部评分

回复

使用道具 举报

adrianliu729 2017-3-3 04:49:10 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   303
91%
9%
31
nice_lady802 发表于 2017-3-3 04:45
你的子节点sum和为零的话,删不删都对父节点没有影响吧。+0和-0有什么关系呢。

奥懂了懂了,谢谢!是加上该节点一共的sum
回复

使用道具 举报

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

本版积分规则

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