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

狗家热乎店面

全局:

2021(4-6月) 码农类General 硕士 全职@google - 网上海投 - 技术电面  | | Fail | 在职跳槽

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

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

x
刚刚面完,分享一下面经和心得

计算一个Tree的所有叶子sum,但是要space complexity O(1).

lz当时没想出来,硬着头皮先写了一个recursive求叶子sum的。

然后面试官提醒,可以从tree的数据结构入手。面试官听口音是个国人小哥,解释得我听不太清楚。

现在回想一下,一般思路是无法O(1) space complexity,所以要改变数据结构,查sum是O(1),每次增删树节点的时候是O(log(n))

后面面试官提示了一下,自定义树的数据结构,加入parent和sum变量。勉勉强强写出来了,中间很多没有考虑清楚的细节被面试官一一指出。


下面是心得
您好!
本帖隐藏的内容需要积分高于 200 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 200 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

参与人数 7大米 +13 收起 理由
一片云的猫 + 1 很有用的信息!
sjph + 2 很有用的信息!
榕树下的孩子 + 3 很有用的信息!
theflyingemini + 1 很有用的信息!
匿名用户-HZGXH + 4

查看全部评分


上一篇:狗家电面跪经
下一篇:大超市Walmart设计岗面试 挂经
推荐
xiana406 2021-4-22 13:54:59 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

参与人数 1大米 +2 收起 理由
sentolo + 2 赞!

查看全部评分

回复

使用道具 举报

推荐
jackalsin 2021-5-13 08:37:07 | 只看该作者
全局:
直接morris traversal不行么? 在node里存东西难道不是额外空间么,我觉得这面试官有点恶心

评分

参与人数 1大米 +3 收起 理由
yezhengli_mr9 + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

推荐
Sheboke 2021-4-28 11:18:50 | 只看该作者
全局:
这题真难,想了两天还是想不通。想问一下大家,如果把children从list改成doublelinkedlist,空间算是O(1)吗,像这样?
  1. class Node:
  2.     def __init__(self, val=None, children=None):
  3.         self.val = val
  4.         self.children = None
  5.         self.next = None
  6.         self.pre = None



  7. def leavesOfSum(self, root: 'Node') -> 'Node':
  8.     self.res = 0
  9.     def helper(root):
  10.         if not root: return
  11.         node = root.children
  12.         while node:
  13.             if not node.children:
  14.                 self.res += node.val
  15.             helper(node)
  16.             tmp = node
  17.             if not node.pre and node.next:
  18.                 node.next.pre = None
  19.             elif not node.next and node.pre:
  20.                 node.pre.next = None
  21.                 node.pre = None
  22.             elif node.next and node.pre:
  23.                 node.pre.next = node.next
  24.                 node.next.pre = node.pre
  25.                
  26.             node = node.next
  27.             del tmp
  28.                
  29.     helper(root)
  30.     return self.res
复制代码

如果能帮忙看一看,就非常感谢了!
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-ARGZY  2021-4-22 04:03:20 来自APP
是多叉树吗
回复

使用道具 举报

🔗
lllxin37 2021-4-22 04:28:05 | 只看该作者
全局:
好奇一下,只是space complexity O(1), 不是time. 不可以用dfs?

sum是O(1),每次增删树节点的时候是O(log(n)),这个感觉是用segment tree的想法啊。加入/删除节点的时候需要go up to root node to do the update.

感谢分享
回复

使用道具 举报

🔗
 楼主| sentolo 2021-4-22 05:01:23 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
lllxin37 2021-4-22 05:05:11 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
 楼主| sentolo 2021-4-22 05:12:14 | 只看该作者
全局:
lllxin37 发表于 2021-4-22 05:05
多谢回复. dfs的 space complexity是个灰色地带。有的公司接受栈的空间。

看样子,面试官就是想让你往 ...

是的,这个地方很细节。希望大家都能注意这一点吧
回复

使用道具 举报

🔗
Nibiru 2021-4-22 05:12:22 | 只看该作者
全局:
应该就是在每个节点增加一个sum的值,每次增删节点的时候,更新所有父节点的sum。
不用父指针,也可以做到。递归调用的时候小心一些就行了
回复

使用道具 举报

🔗
 楼主| sentolo 2021-4-22 05:18:10 | 只看该作者
全局:

yesyes字数字数
回复

使用道具 举报

🔗
cxw111 2021-4-22 05:26:39 | 只看该作者
全局:
请问输入就是给了个root么
回复

使用道具 举报

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

本版积分规则

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