10月28,K神开讲数据科学:AB Test/实验设计


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 363|回复: 4
收起左侧

两天前一道Amazon OA题

[复制链接] |试试Instant~ |关注本帖
2yuanwh 发表于 6 天前 | 显示全部楼层 |阅读模式

2017(10-12月) 码农类 硕士 全职@Amazon - 猎头 - 在线笔试 |Other在职跳槽

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

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

x
前两天刚做了一个Amazon OA,一共两道编程题。第一道题题干啰嗦了半天,其实就是K closest points的内核,原题不多说了,主要是第二道题。
.鏈枃鍘熷垱鑷1point3acres璁哄潧
题目先要求根据数据顺序生成binary search tree,然后给两个数据,node1和node2,然后返回两个node之间的距离。比如数据是 { 5, 3, 6, 1, 2, 4 },然后给两个数值2和4,那么返回值就是3。

两个思路,一个是在创建binary search tree的时候,除了left和right指针,加一个parent指针,然后查找node1这个值在tree的位置,从这个位置开始BFS,分层遍历parent,left和right,然后找到node2这个值的时候,返回层数。

. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴另外一个我想到的就是树创建好之后,找到node1和node2的最近公共祖先,然后从这个祖先开始分层遍历,分别记录两个值的层高,相加就是距离。

不知道除了这两个方法,有没有更好的解法呢?这两种方法,哪种更好呢?

我自己做题的时候,首先想到和选择的就是这个方法,但是由于BFS在计算层数的时候,level++写在了最前面,而不是写在后面,导致最后层数从1开始,非0开始,最后的结果都比期望值多了2。最后想到bug想要修改时,因为只剩30秒,太紧张点到了鼠标,好死不死点到Exit,直接退出回不去了。估计结果是挂掉了。。。

经验教训总结:最近一直在练习BFS,两道题都用到了,觉得还是很重要的。然后对于最开始最基本的分治算法却忽略了,没有练习到纯熟,导致在正确创建BST和找最近公共祖先上花了比预期多很多的时间,所以基础还是要打牢啊!然后就是开始求职以来第一个OA面试,太紧张了,还是应该放松一点,对自己自信一些。希望这些经验教训能给大家一些帮助!

mchzh 发表于 6 天前 | 显示全部楼层
回复 支持 反对

使用道具 举报

mchzh 发表于 6 天前 | 显示全部楼层
http://www.1point3acres.com/bbs/thread-286028-1-1.html 这是我总结的OA的题目解法
回复 支持 反对

使用道具 举报

 楼主| 2yuanwh 发表于 6 天前 | 显示全部楼层
mchzh 发表于 2017-10-12 12:44
http://www.1point3acres.com/bbs/thread-286028-1-1.html 这是我总结的OA的题目解法

我为什么没有早点看到你的帖子 肠子都悔青了
回复 支持 反对

使用道具 举报

mchzh 发表于 6 天前 | 显示全部楼层
2yuanwh 发表于 2017-10-12 12:57
我为什么没有早点看到你的帖子 肠子都悔青了

做任何亚麻的东西都需要先在地里把所有面经都搜索一边,特别多也很全
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-10-18 01:14

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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