📣 独立日限时特惠: VIP通行证立减$68
楼主: alucardzhou
跳转到指定楼层
上一主题 下一主题
收起左侧

脸书 电面

🔗
leonardcohen 2016-9-2 10:22:09 | 只看该作者
全局:
防水的题 第一眼  我也没思路 ——>去刷题,要努力哦,加油! 昨晚刷到凌晨1点。
回复

使用道具 举报

🔗
houqingniao 2016-9-2 10:32:34 | 只看该作者
全局:
alucardzhou 发表于 2016-9-2 10:00
不用postorder遍历。别想复杂了。
输入就是个leaf node。(没有root)
因为是完全树(每个pare ...

输入时所有的leaves?
回复

使用道具 举报

🔗
Sorrow雨 2016-9-2 11:03:29 | 只看该作者
全局:
iPhD 发表于 2016-9-2 09:03
能说具体点吗?或给个伪代码?怎么改?

哦哦 理解错了 直接给你的就是改过的leaf node么?那就直接向上改就行了吧
回复

使用道具 举报

🔗
Sorrow雨 2016-9-2 11:07:49 | 只看该作者
全局:
alucardzhou 发表于 2016-9-2 10:00
不用postorder遍历。别想复杂了。
输入就是个leaf node。(没有root)
因为是完全树(每个pare ...

运气可以啊 ! 祝lz早日拿到offer
回复

使用道具 举报

🔗
Sorrow雨 2016-9-2 11:08:15 | 只看该作者
全局:
houqingniao 发表于 2016-9-2 10:32
输入时所有的leaves?

只改一个leaf 所以输入就是那个leaf
回复

使用道具 举报

🔗
wzs9988 2016-9-2 11:32:35 | 只看该作者
全局:
第一题感觉直接走一遍从leaf到root的path就行了?(depending on 树的值,未必需要完全走完)

  1. void invert(TreeNode n) {
  2.     while (n != null) {
  3.         n.val ^= 1;
  4.         if (n.parent != null) {
  5.             if (n.parent.left == n) {
  6.                 if (n.parent.right.val == 0) break;
  7.             } else {
  8.                 if (n.parent.left.val == 0) break;
  9.             }
  10.         }
  11.         n = n.parent;
  12.     }
  13. }
复制代码
回复

使用道具 举报

🔗
 楼主| alucardzhou 2016-9-2 12:49:13 | 只看该作者
全局:
Sorrow雨 发表于 2016-9-1 22:03
哦哦 理解错了 直接给你的就是改过的leaf node么?那就直接向上改就行了吧

正解!就是这个意思
回复

使用道具 举报

🔗
 楼主| alucardzhou 2016-9-2 12:52:57 | 只看该作者
全局:
wzs9988 发表于 2016-9-1 22:32
第一题感觉直接走一遍从leaf到root的path就行了?(depending on 树的值,未必需要完全走完)

是的是的。
所以最后在复杂度的讨论部分有点意思。
最优是O(1),最差是(logN)
但是小哥引进了概率。每次parent翻牌子的几率只有1/4.
所以平均时间复杂度比logN要低。他说是O(1)。
这里我也没太理解。
回复

使用道具 举报

🔗
hzyslddm 2016-9-2 14:36:05 | 只看该作者
全局:
alucardzhou 发表于 2016-9-2 12:52
是的是的。
所以最后在复杂度的讨论部分有点意思。
最优是O(1),最差是(logN)

谢谢Lz分享,请问每次parent翻牌子的概率为什么是1/4? 感觉是1/2呀,两个孩子的值有四种可能(1 1,0 0, 1 0, 0 1), 假设被翻的是前面的孩子, 那么第1、4种情况下,翻了孩子之后parent的值都会变
回复

使用道具 举报

🔗
 楼主| alucardzhou 2016-9-2 22:51:23 | 只看该作者
全局:
hzyslddm 发表于 2016-9-2 01:36
谢谢Lz分享,请问每次parent翻牌子的概率为什么是1/4? 感觉是1/2呀,两个孩子的值有四种可能(1 1,0 0,  ...


你说得对对。可能是我记错了。
说实话自己当时很紧张。
十分害怕碰到什么写json啊,什么不排序找等差数列那样的神题。
那么这种情况下时间复杂度应该是O(1)么?还是仍然是O(logN)呢?
回复

使用道具 举报

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

本版积分规则

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