近期论坛无法登录的解决方案


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 3520|回复: 15
收起左侧

uber电面

[复制链接] |试试Instant~ |关注本帖
pilot 发表于 2016-1-30 04:24:16 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 博士 全职@Uber - 内推 - 技术电面 |Failfresh grad应届毕业生

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

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

x
发一道uber的电面,之前好像没有在网上看到过. 1point3acres.com/bbs

题目是在二维平面上给定一组两个点的相对位置,需要判断这组相对位置是否可以被满足

一共有八种相对的位置 N, S, E, W, NE, NW, SE, SW (北,南,东,西,东北,西北,东南,西南),举几个栗子:
(1)Input: 1 N 2, 2 NE 3, 3 S 1
    Expected output: False
(2)Input :  4 SE 5, 5 SW 3, 3 N 4
    Expected output: True. Waral 鍗氬鏈夋洿澶氭枃绔,

评分

1

查看全部评分

hkc593 发表于 2016-4-14 02:07:09 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
我觉的根据例子2. more info on 1point3acres.com
(2)Input :  4 SE 5, 5 SW 3, 3 N 4
    Expected output: True

这个题可能是假设距离的单位都是1吧,要不然这个2)是没法判断true的。比如是4 在(0,0), 5 在(1,-1),3在(1,1), 那么3 N 4 是true,如果3在(2,2), 3和是4 关系是 3 NE 4?
回复 支持 1 反对 0

使用道具 举报

eric2011 发表于 2016-3-30 04:49:31 | 显示全部楼层
关注一亩三分地微博:
Warald
这题我觉得沿着南北和东西方向做两次topological sort就可以了,只要没发现loop就是true
回复 支持 1 反对 0

使用道具 举报

gavinzhang 发表于 2016-1-30 05:02:08 | 显示全部楼层
是不是拿hashmap 存一个point的object, 每个point存相对x,y
回复 支持 反对

使用道具 举报

evetskainzow 发表于 2016-1-30 06:07:48 | 显示全部楼层
请问楼主,内推之后等了多久拿到面试? 需要自己去找组吗?
回复 支持 反对

使用道具 举报

Teness 发表于 2016-1-30 06:32:38 | 显示全部楼层
感觉复杂点的做法就是每进来一条数据,更新所有点对于点的相对位置?有更好的方法么
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-2-6 09:45:27 | 显示全部楼层
这个题就是将第一个位置设定0, 0,然后给每个点根据信息设定坐标,并且放到Hashmap吧,如果发现坐标都在hashmap中,就判断位置是不是合理
回复 支持 反对

使用道具 举报

traceroute_su 发表于 2016-4-8 12:56:17 | 显示全部楼层
gavinzhang 发表于 2016-1-30 05:02
是不是拿hashmap 存一个point的object, 每个point存相对x,y

嘿嘿 小伙 你也要面uber啦?进去了吗?
回复 支持 反对

使用道具 举报

悲伤网管 发表于 2016-4-11 06:04:57 | 显示全部楼层
detect loop只能解决critical error,但是如果出现A NE B 和 C NE B, A和C的位置可能是 A N/S/E/W/NE/SE/NW/SW C的任意一种,这是一个问题,不知道楼主有没有问面试官?
回复 支持 反对

使用道具 举报

traceroute_su 发表于 2016-4-12 11:16:56 | 显示全部楼层
其实最简单的就是存点的相对距离
比如 a (0,0)
a n b
那么b 就是(-1,0)
最后判断是否相对位置正确即可
至于是否出现loop 看新生成的位置是否与set里的位置一致 否则false
回复 支持 反对

使用道具 举报

comicrudy 发表于 2016-4-13 18:33:51 | 显示全部楼层
traceroute_su 发表于 2016-4-12 11:16
其实最简单的就是存点的相对距离
比如 a (0,0)
a n b

这个不太对吧,比如1 N 2, 2 S 3, 怎么判断1, 3?
回复 支持 反对

使用道具 举报

悲伤网管 发表于 2016-4-13 23:11:06 | 显示全部楼层
comicrudy 发表于 2016-4-13 18:33
这个不太对吧,比如1 N 2, 2 S 3, 怎么判断1, 3?

我觉得1,3无法判断
回复 支持 反对

使用道具 举报

harryhu0705 发表于 2016-4-17 04:38:30 | 显示全部楼层
hkc593 发表于 2016-4-14 02:07
我觉的根据例子2
(2)Input :  4 SE 5, 5 SW 3, 3 N 4
    Expected output: True

我觉得这个理解是对的!!应该相对距离,n,e,w,s距离都是1, ne,nw,se,sw的距离应该都是sqrt(2)。
对于1n2,3n2这种情况,我认为1,2,3的坐标应该是(0,0),(0,-1),(0,0)
具体方法,我觉得就是设置第一个出现的点的坐标为0,0,然后其他的点如果在hashmap里面没有出现过,那么就是hashmap其实是最好的做法
回复 支持 反对

使用道具 举报

liurudahai 发表于 2016-12-2 09:17:26 | 显示全部楼层
harryhu0705 发表于 2016-4-17 04:38
我觉得这个理解是对的!!应该相对距离,n,e,w,s距离都是1, ne,nw,se,sw的距离应该都是sqrt(2)。
对 ...
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
这个方法感觉是对的,必须假设东西南北距离是1,不然没法判断,TOPOLOGY SORT什么都没用
回复 支持 反对

使用道具 举报

wangxinbo1123 发表于 2017-1-3 09:19:04 | 显示全部楼层
                • Construct two graphs, one for x-coordinate--Gx, one for y-coordinate--Gy. 
                • For Gx, If x1 < x2, then we have an edge from x1->x2, if x1 > x2, one edge x1<-x2. If x1 == x2, combine x1 and x2 together. 
                • In the end, we check whether there exists a cycle in Gx or Gy. If this is true, then the answer is impossible. 
                • To detect a back edge, we can keep track of vertices currently in recursion stack of function for DFS traversal. If we reach a vertex that is already in the recursion stack, then there is a cycle in the tree. The edge that connects current vertex to the vertex in the recursion stack is back edge. We have used recStack[] array to keep track of vertices in the recursion stack.. visit 1point3acres.com for more.
回复 支持 反对

使用道具 举报

翻滚吧豆子 发表于 2017-4-5 11:56:38 | 显示全部楼层
wangxinbo1123 发表于 2017-1-3 09:19. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
• Construct two graphs, one for x-coordinate--Gx, one for y-coordinate--Gy. -google 1point3acres
                • ...

我觉得你的方法很好,但是
If x1 == x2, combine x1 and x2 together.
这个部分,岂不是要union find来实现,不过好想也真实没什么其他办法了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

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

custom counter

GMT+8, 2017-6-24 05:35

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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