查看: 2879| 回复: 18
跳转到指定楼层
上一主题 下一主题
收起左侧

[找工就业] 新鲜脸熟2面

全局:

2019(7-9月)-CS硕士+短暂实习或全职不超过3个月 | 内推|匹兹堡地区 码农类General实习@meta

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

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

x
这周二面的实习第二轮,放上来攒人品,求fb抬一手啊。。。

[hide=130
第一题,很简单,给一串航班的起点和终点,按顺序输出所有的航班。比如说[[北京,广州],[上海,北京],[深圳,上海]],要求输出[[深圳,上海],[上海,北京],[北京,广州]],直接拿哈希表存下来,然后找只有一个出度的点,顺着遍历就行了。
第二题,一个01矩阵,每一行所有的0在前,1在后,要求给出矩阵中最左边的1所在的列id。我先给了一种O(m logn)的方法,面试官说我这个方法在n大的时候可以,然后直接告诉我了O(m+n)的方法让我实现,不知道算不算黑点。[/hide]

. ----

评分

参与人数 4大米 +15 收起 理由
zjunnju + 3 给你点个赞!
fancz2002 + 5 欢迎来一亩三分地论坛!
kywang + 3 给你点个赞!
艾利克斯 + 4 给你点个赞!

查看全部评分


上一篇:求一个职位介绍FB - Data Scientist, Infrastructure Data Center - Intern
下一篇:Pinterest VS Airbnb
推荐
太空牛仔 2018-10-28 02:17:31 | 只看该作者
全局:
第二题有个很野的做法是二维二分,同时对i 和 j进行二分,需要注意的是在进入左上和右下之前要对当前行当前列进行二分,以免遗漏,时间应该是max(logm, logn) ^2,我自己想出来的,理论上来说应该是最优,可是咋没看到有人用。
回复

使用道具 举报

推荐
Barbados 2018-10-27 03:11:18 | 只看该作者
全局:
laura9 发表于 2018-10-26 11:05.1point3acres
我是这么想的,但是面试官好像不认同我的做法

要讲清楚吧, 每次要往下拐前就是代表当前所在行是返回结果,往下走如果遇到0,说明此行的1在后面,此行一定不是返回结果,要排除。当遇到1的时候,说明此行的1有可能会更左边,返回结果更新至此行,由此循环直到边界。
回复

使用道具 举报

推荐
laura9 2018-10-27 03:14:02 | 只看该作者
全局:
Barbados 发表于 2018-10-27 03:11
要讲清楚吧, 每次要往下拐前就是代表当前所在行是返回结果,往下走如果遇到0,说明此行的1在后面,此行 ...

我是这么说的 当前行找到的leftmost index,下一行从index - 1的地方从右往左找1,不是1就continue
回复

使用道具 举报

🔗
艾利克斯 2018-10-27 02:28:32 | 只看该作者
全局:
第二题是对每一行做二分搜索吗?那面试官说的O(m+n)的方法思路是怎么样的啊?
回复

使用道具 举报

🔗
Barbados 2018-10-27 02:36:39 | 只看该作者
全局:
O(m+n)是不是从右上往左下走,每次先往左走,遇到每行最左的1就往下走,遇到有1就拐向左走,然后循环?感觉不算是黑点,二分和这种各有优势。
回复

使用道具 举报

🔗
gundamkeroro 2018-10-27 02:43:43 | 只看该作者
全局:
第二题lc上面一道题的马甲题 道理是一样在 左上走到右下
回复

使用道具 举报

🔗
TTTynthia 2018-10-27 02:51:09 | 只看该作者
全局:
Barbados 发表于 2018-10-27 02:36
O(m+n)是不是从右上往左下走,每次先往左走,遇到每行最左的1就往下走,遇到有1就拐向左走,然后循环?感觉 ...

为什么这个方法的复杂度是(m+n)啊。。
回复

使用道具 举报

🔗
Barbados 2018-10-27 02:56:23 | 只看该作者
全局:
TTTynthia 发表于 2018-10-26 10:51. Χ
为什么这个方法的复杂度是(m+n)啊。。

因为就是走了一个矩阵的长加宽的距离
回复

使用道具 举报

🔗
laura9 2018-10-27 03:04:20 | 只看该作者
全局:
同第二题,没告诉我方法让我实现O(m+n)
回复

使用道具 举报

🔗
laura9 2018-10-27 03:05:39 | 只看该作者
全局:
Barbados 发表于 2018-10-27 02:36
O(m+n)是不是从右上往左下走,每次先往左走,遇到每行最左的1就往下走,遇到有1就拐向左走,然后循环?感觉 ...
. ----
我是这么想的,但是面试官好像不认同我的做法
回复

使用道具 举报

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

本版积分规则

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