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

狗狗实习两轮面经,求打捞,求鱼塘群~

全局:

2018(1-3月) 码农类General 硕士 实习@google - 内推 - 技术电面  | | Pass | 应届毕业生

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

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

x
上周结束的背靠背电面,献出面筋回馈地里。
楼主在国内半夜两点用hangout面的,自认为表现得不够好,毕竟题目都不算难,能过hc真的是运气好。。

第一轮白人女面试官,楼主一开始vpn有问题,连了10多分钟才进聊天室,见到面试官时已经迟到10分钟了,一进去就疯狂道歉。然后让我介绍了一下最挑战的一个项目,如何克服的,自己在团队的角色是什么,问完了开始做题。

问题是,两棵树,如果其中一棵树,可以通过交换其任意数量的节点的left child 和right child,从而得到另一棵树的话,我们就称两颗树相似。题目要求你写一个判断两棵树是否相似的函数(返回true/false)。

楼主用比较intuitive的递归做的,对于每个节点,先不交换left child和right child,递归call,如果递归返回false,再交换left c
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
想到直接送hc还过了,真的是运气不错。。。

求一个选组鱼塘群~~

时间线:
10月初内推
11.12 OA, 拖延症11.20才做
12.7 第一次约背靠背,楼主正值final,往后延了一次
1.3 第二次约背靠背,国内视频面
1.8 送hc
1.10 进pool

希望选组顺利,也祝大家offer多多~





补充内容 (2018-1-13 10:23):
避免歧义。。12.7和1.3分别是第一次约的背靠背时间和第二次约的背靠背时间

评分

参与人数 7大米 +24 收起 理由
bcvjsd + 2 很有用的信息!
琼子 + 3 给你点个赞!!~~~~
烟花易冷wrc + 5 很有用的信息!
yiliaobailiao + 3 很有用的信息!
forbread + 3 很有用的信息!

查看全部评分


上一篇:在职跳槽OPT只剩下一年的case跪求帮忙
下一篇:Citadel第二轮店面

本帖被以下淘专辑推荐:

推荐
pumpkincat 2018-1-13 07:09:44 | 只看该作者
全局:
粘粘喜气。楼主这过的速度真是惊人啊。。。
回复

使用道具 举报

推荐
specialwu 2018-2-11 09:05:45 | 只看该作者
全局:

还是没太懂啊。。。

  1          1
2   3      3  2
这种,这是必须交换的,不交换就绝对不一样

  1          1
2   3     2  3
这种,是必须不交换的,交换了就不一样了
我感觉对于每个root而言他的子节点交换不交换是已经确定了的,然后直接dfs子节点,复杂度应该是O(n),因为每个节点只遍历了一遍,感觉不需要递归call来判断用不用换。当然是说所有节点都unique的
还是我对题意的理解有问题么。。。
回复

使用道具 举报

推荐
hername 2018-2-13 13:58:31 | 只看该作者
全局:
chengshuangdao 发表于 2018-1-16 23:22
这个你说的有道理。。。我这里好像默认假设所有node unique了,也不记得有没有跟面试官确认过。。
但是 ...

我觉得就算node不是unique,BFS+MAP依然不行啊。譬如下面的结构:
虽然对于两棵树,B的parent都是A,但是他们应该不能算相似吧?
    A                  A
  /                      \
B                        B

补充内容 (2018-2-13 13:59):
sorry,我是说就算node是unique,依然不能判断。

补充内容 (2018-2-13 14:07):
sorry,忽略我吧。我刚刚举的栗子是满足要求的。
回复

使用道具 举报

全局:
沾沾喜气。。真的是速度惊人
回复

使用道具 举报

🔗
appleLeaf 2018-1-16 16:35:09 | 只看该作者
全局:
请问楼主shuffle数组用的什么方法呢?
回复

使用道具 举报

🔗
appleLeaf 2018-1-16 16:41:10 | 只看该作者
全局:
请问楼主第一问的followup,如果只把node的val转化成edge list的话好像可能有问题?
比如树(a(a)(a)) 和 (a(a(a)))的edge list一样, 但树不是相似的
回复

使用道具 举报

🔗
 楼主| chengshuangdao 2018-1-16 23:05:36 | 只看该作者
全局:
appleLeaf 发表于 2018-1-16 16:35
请问楼主shuffle数组用的什么方法呢?

shuffle方法当场不要求写,但也不难,
  1. void shuffle(int[] A) {
  2.   for(int i = 0; i < A.length; i++) {
  3.     int target = (int) ((i+1)* Math.random());
  4.     int temp = A[target];
  5.     A[target] = A[i];
  6.     A[i] = temp;
  7.   }
  8. }
复制代码
回复

使用道具 举报

🔗
 楼主| chengshuangdao 2018-1-16 23:22:51 | 只看该作者
全局:
appleLeaf 发表于 2018-1-16 16:41
请问楼主第一问的followup,如果只把node的val转化成edge list的话好像可能有问题?
比如树(a(a)(a)) 和 ( ...

这个你说的有道理。。。我这里好像默认假设所有node unique了,也不记得有没有跟面试官确认过。。
但是如果node不是unique的,用bfs+map的方法貌似也不行?因为bfs每一层的顺序也需要考虑了,但是考虑顺序的话,当一个node下两个children相同时又很麻烦,可能需要swap可能不需要swap,这样worst case复杂度可能也到n^2去了。。。

回复

使用道具 举报

🔗
fisherhust 2018-1-17 01:22:37 | 只看该作者
全局:
恭喜楼主, 祝早日match
回复

使用道具 举报

🔗
rippersean 2018-1-17 02:10:40 | 只看该作者
全局:
楼主第一题能不能直接把树弄成数组,空的加null,这样子从根开始左右子树分别指针跳转去做类似dfs的查找?
回复

使用道具 举报

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

本版积分规则

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