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

Facebook 二面面经

无效楼层,该帖已经被删除
🔗
wingman989898 2016-2-18 07:48:57 | 只看该作者
全局:
楼主是实习电面咯?
回复

使用道具 举报

🔗
songty11 2016-2-18 07:57:35 | 只看该作者
全局:
wingman989898 发表于 2016-2-18 07:48
楼主是实习电面咯?

是的~两轮实习电面...
回复

使用道具 举报

🔗
raccoon 2016-2-18 08:03:06 | 只看该作者
全局:
YJ_Li 发表于 2016-2-18 07:25
电面的时候能查leetcode 或在网上找其他资料吗?

可以呢,反正对方也不知道。。
回复

使用道具 举报

无效楼层,该帖已经被删除
🔗
YJ_Li 2016-2-18 10:04:11 | 只看该作者
全局:
raccoon 发表于 2016-2-18 08:03
可以呢,反正对方也不知道。。

这个没有 detector 或 用 webcam 检查行动吗
回复

使用道具 举报

无效楼层,该帖已经被删除
🔗
returning 2016-2-18 15:59:43 | 只看该作者
全局:
感觉这道题很好用dfs啊,先dfs到最下面,所以每个节点返回的是当前下面最深的子节点的深度,以及这些最深的子节点汇聚在哪个节点。比如说,原题假设a上面还有parent的话,a向上返回的就是节点b和depth 5(因为假设a上面还有一层)。如果一个节点收到两个子节点返回的这个信息,就可以唯一的确定应该怎么返回给更高的一层。
回复

使用道具 举报

🔗
yanggao1119 2016-2-23 14:56:43 | 只看该作者
全局:
我也写了一写,dfs with hash map

        public TreeNode minSubtreeDeepestLeaf(TreeNode root) {
                // record the deepest depth under each node in a map
                // for a parent, if left and right subtree have the same
                // deepest depth, return the parent node itself,
                // otherwise, return the subtree with deepest child
                if (root == null) {
                        return root;
                }
                Map<TreeNode, Integer> map = new HashMap<>();
                return helper(root, map, 1);
        }

        private TreeNode helper(TreeNode root, Map<TreeNode, Integer> map, int depth) {
                if (root.left == null && root.right == null) {
                        map.put(root, depth);
                        return root;
                }
                if (root.left == null) {
                        return helper(root.right, map, depth + 1);
                }
                if (root.right == null) {
                        return helper(root.left, map, depth + 1);
                }
                TreeNode leftResult = helper(root.left, map, depth + 1);
                TreeNode rightResult = helper(root.right, map, depth + 1);
                if (map.get(leftResult) == map.get(rightResult)) {
                        map.put(root, map.get(leftResult));
                        return root;
                }
                return map.get(leftResult) > map.get(rightResult) ? leftResult : rightResult;
        }
回复

使用道具 举报

🔗
ludi5522 2016-2-23 15:13:10 | 只看该作者
全局:
感谢楼主分享经验!
回复

使用道具 举报

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

本版积分规则

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