Airbnb 2018年春季E6 package

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
查看: 1989|回复: 8
收起左侧

问一道airbnb面经: rectangle intersection

[复制链接] |试试Instant~ |关注本帖
我的人缘0
dnlby96 发表于 2017-9-16 10:03:24 | 显示全部楼层 |阅读模式
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  0% (0)
 
 
0% (0)  踩

2017(7-9月) 码农类General 硕士 实习@Airbnb - 内推 - 技术电面 在线笔试  | Other | fresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
                                                                                                                                                问一道A家面经题:
[size=12.000000pt]             You have a plain with lots of rectangles on it, find out how many of themintersect.  
[size=12.000000pt]

[size=12.000000pt]这题里的rectangles是either horizontal or vertical 的吗, 如果不是,input如何定义rectangle在这个plain上的角度和位置?
[size=12.000000pt]input给的是每个rectangle 的upper left和lower right的vertices吗?
[size=12.000000pt]谢谢~
                               
                       
               

. 围观我们@1point 3 acres

补充内容 (2017-9-16 10:04):
请原谅那些个每段话前面的奇怪的prefix...

补充内容 (2017-9-16 20:51):.留学论坛-一亩-三分地
还有就是intersect with what? 如果 A 和 B intersect,B 和 C intersect,然后 A 和 C 不 intersect,那我要return 2 还是 3?

上一篇:刚收到Amazon Onsite,求队友
下一篇:facebook 电面
我的人缘0
 楼主| dnlby96 发表于 2017-9-16 20:51:23 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  0% (0)
 
 
0% (0)  踩
还有就是intersect with what? 如果 A 和 B intersect,B 和 C intersect,然后 A 和 C 不 intersect,那我要return 2 还是 3?
回复

使用道具 举报

我的人缘0
Hellcat 发表于 2017-9-17 00:10:19 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (1)
 
 
0% (0)  踩
我有个初步的想法:
假设矩形的边都是水平或垂直的,每个矩形通过左上点 以及长宽来表示
首先把左上点按y坐标排序,如果y坐标相同就按x坐标排,你可以得到一个array
考虑array中第j个元素(j > 1),根据左上点的坐标(x0,y0)以及宽高,可以得到左下点的坐标(x0,y1)
由于array已经按照y排序了,你可以查找到(x0,y1)在array中的位置,设为i。所以j之前能与j相交的矩形只能是(i,j)之间且最右端的横坐标大于x0的矩形。但是想到这想不下去了,我不知道有哪个数据结构可以在O(1)做到给定范围[i,j],在数组中找到[i,j]中大于值val的元素个数。如果有的话,就可以总时间复杂度O(nlogn)
回复

使用道具 举报

我的人缘0
strisunshine 发表于 2017-9-17 10:07:30 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (9)
 
 
0% (0)  踩
Hellcat 发表于 2017-9-17 00:10
我有个初步的想法:
假设矩形的边都是水平或垂直的,每个矩形通过左上点 以及长宽来表示
首先把左上点按y ...

这里不光要最右端的横坐标大于x0吧, 最左端的横坐标还要小于x1才行, 每个都查验又需要更多的时间复杂度
就你考虑的那种情况来说, 如果是array, 用值作二分查找即可, 然后用index相减可求出大于val的个数, 时间复杂度为O(nlogn), 没有超过之前排序的时间复杂度
回复

使用道具 举报

我的人缘0
nagisafight 发表于 2017-10-3 17:40:33 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  94% (18)
 
 
5% (1)  踩
我猜是不是只要相交就+1,然后我感觉用unionfind挺好做的
回复

使用道具 举报

我的人缘0
velinforever 发表于 2017-10-10 14:23:15 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (3)
 
 
0% (0)  踩
请问这个是电面的题么?
回复

使用道具 举报

我的人缘0
Stanley Z 发表于 2017-10-11 22:19:44 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (19)
 
 
0% (0)  踩
strisunshine 发表于 2017-9-17 10:07
这里不光要最右端的横坐标大于x0吧, 最左端的横坐标还要小于x1才行, 每个都查验又需要更多的时间复杂度. From 1point 3acres bbs
...

O(nlogn) 不能保证吧, 比如按照x坐标排序,对于i元素,二分查找到i之后所有x0坐标 小于 i.x1的矩形,这时候只能确保在x轴方向这些矩形重合了,还要一一检查所有y方向是否重合,最后还是线性复杂组,worst case O(n^2), 比如有n个矩阵,左上角右下角坐标分别是(k,k), (2n-k, 2n-k) k = 1,2,.... n-1
回复

使用道具 举报

我的人缘0
houpy 发表于 2017-12-27 14:58:06 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  97% (181)
 
 
2% (4)  踩
dnlby96 发表于 2017-9-16 20:51
还有就是intersect with what? 如果 A 和 B intersect,B 和 C intersect,然后 A 和 C 不 intersect,那我 ...

想问下楼主这道题最后搞清楚了吗? 这个情况下到底应该return 多少?
Mobile Apps Category (English)728x90
回复

使用道具 举报

我的人缘0
flykite083 发表于 2018-2-12 11:26:05 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  93% (61)
 
 
6% (4)  踩
houpy 发表于 2017-12-27 14:58
想问下楼主这道题最后搞清楚了吗? 这个情况下到底应该return 多少?
. From 1point 3acres bbs
同问。。。。。
回复

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-7-17 08:22

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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