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

谷歌 店面面经

🔗
chohan 2019-10-10 04:16:40 | 只看该作者
全局:
感觉招到level也没啥用啊

评分

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

查看全部评分

回复

使用道具 举报

🔗
 楼主| Vyronas 2019-10-10 04:18:26 | 只看该作者
全局:
chohan 发表于 2019-10-10 04:16
感觉招到level也没啥用啊

是啊我也这么觉得。。。面试官的提示让我很迷
回复

使用道具 举报

🔗
abcisme 2019-10-10 04:22:56 | 只看该作者
全局:
hqOffer 发表于 2019-10-10 04:11
那这样的话可以用DFS pre order traversal 来确定value所在的层数,空间没要求的话可以直接DFS来把level o ...

直接找dfs 一直往左 和 一直往右 找出每一层数字的范围就是那个helperfunction了

评分

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

查看全部评分

回复

使用道具 举报

🔗
hqOffer 2019-10-10 04:26:59 来自APP | 只看该作者
全局:
abcisme 发表于 2019/10/10 04:22:56
直接找dfs 一直往左 和 一直往右 找出每一层数字的范围就是那个helperfunction了
只需要走最左边一遍就行了,不需要往右
回复

使用道具 举报

🔗
 楼主| Vyronas 2019-10-10 04:31:41 | 只看该作者
全局:
abcisme 发表于 2019-10-10 04:22
直接找dfs 一直往左 和 一直往右 找出每一层数字的范围就是那个helperfunction了

已加米!找到层数后应该怎么做呢?想来想去还是O(n)。。。
回复

使用道具 举报

🔗
a289206397 2019-10-10 04:36:49 | 只看该作者
全局:
我的想法是,如何能够确定要找的value一定存在。那么用vector<vector<TreeNode *>> level存每一层的TreeNode *。然后走一遍findlevel()找到level[i][0] <= target <= level[i].back()
然后再在这个level[i]里面做binarySearch。

评分

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

查看全部评分

回复

使用道具 举报

🔗
 楼主| Vyronas 2019-10-10 04:40:22 | 只看该作者
全局:
a289206397 发表于 2019-10-10 04:36
我的想法是,如何能够确定要找的value一定存在。那么用vector level存每一层的TreeNode *。然后走一遍findl ...

谢谢你的回答 已加米!
不过在构建vector<vector<TreeNode *>>的时候是不是要走遍所有的node呀?如果是的话这一步就要O(n)了呀
回复

使用道具 举报

🔗
a289206397 2019-10-10 04:46:27 | 只看该作者
全局:
本帖最后由 a289206397 于 2019-10-10 04:49 编辑
Vyronas 发表于 2019-10-10 04:40
谢谢你的回答 已加米!
不过在构建vector的时候是不是要走遍所有的node呀?如果是的话这一步就要O(n)了 ...

这样确实是O(n),刚刚想了一下。可以把<vector<vector<TreeNode *>>只存当层最左和最右这两个数(第一层除外)。这样依旧可以用findlevel()来找到合适层。找到以后再把当层里数存一个vector<TreeNode *>然后在binarySearch。这样应该就是log(n)
不过如果要找的那个数在最底层那还是O(n),这个应该没办法

评分

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

查看全部评分

回复

使用道具 举报

🔗
 楼主| Vyronas 2019-10-10 04:50:52 | 只看该作者
全局:
a289206397 发表于 2019-10-10 04:46
这样确实是O(n),刚刚想了一下。可以把

如果把当前层里的数存一个vector<TreeNode *>,就需要它上一层的所有node,上一层又需要上上一层。。。这样又相当于遍历所有node了呀
回复

使用道具 举报

🔗
digdig 2019-10-10 04:54:22 来自APP | 只看该作者
全局:
这题应该还有附加条件的吧?比如这棵树从上至下从左往右都是递增的。如果符合这个条件倒是有log的解法,就类似二分查找就行。先找层数,再找元素即可。

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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