一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1393|回复: 21
收起左侧

Amazon OA2 due on 12/15

[复制链接] |试试Instant~ |关注本帖
wwj722 发表于 2015-12-13 05:28:39 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Amazon - 内推 - 在线笔试 |Otherfresh grad应届毕业生

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

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

x
刚做完的OA2,12/15 的due。
Work simulation:
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴首先时间够用,我每个题都仔细看了email/chat,做完还能剩40分钟。 所以时间很充足。
内容大概是:1. dealline与requirement。看着选吧。. From 1point 3acres bbs
                   2. log问题。找相同原因就行。我看的log是某个service出问题了,给了你一个report。第一问是为什么会出现德语,看report发现出现德语的共同点是locate都在德国,所以答案选的就是locate。
                      第二问是为什么有的是invalid,看report发现共同点都是username都很长,因此选的username很长。
                  3. test case。关于shopping的代码。第一问是某个method为什么不行,答案选的performance issue。这个不太确定(其他几个选项更不合理)。第二问是how to improve shoppingcart class。我选的是add user.id
                     to shoppingcart class. 第三问就是5个test case了。地里前辈说过很多了,应该是1,3,5跑不过。第一个是getdefualtpayment会返回null。第三个是user并没有初始化email,所以getemail会出错。第5个是     
                    setprice的method 返回的是integer,而testcase set的是double 。.1point3acres缃

Codiing:1. 翻转linkedlist。. From 1point 3acres bbs
              2. subtree问题。         . 1point3acres.com/bbs

就这些。bless us!


.1point3acres缃

评分

2

查看全部评分

leonidas1573 发表于 2015-12-13 06:45:24 | 显示全部楼层
感谢楼主分享.求问楼主的"翻转链表"是链表折半再翻转?记得好像是OA1的题目啊.
回复 支持 反对

使用道具 举报

dengke 发表于 2015-12-13 07:15:42 | 显示全部楼层
换题啦?楼主能详细说一下翻转链表和subtree的问题吗?我17号due!!
回复 支持 反对

使用道具 举报

LOUIS懒蟲 发表于 2015-12-13 07:59:36 | 显示全部楼层
楼主觉得subtree 最优解法是recursion吗, 我用iterate 写的,时间复杂度一样,但是用了stack,马上video了,想知道最优解
回复 支持 反对

使用道具 举报

dengke 发表于 2015-12-13 08:10:29 | 显示全部楼层
是Count Univalue Subtree那道原题吗?还没刷完leetcode不好意思。。。
回复 支持 反对

使用道具 举报

 楼主| wwj722 发表于 2015-12-13 09:05:08 | 显示全部楼层
leonidas1573 发表于 2015-12-13 06:45
感谢楼主分享.求问楼主的"翻转链表"是链表折半再翻转?记得好像是OA1的题目啊.

是的
字数字数字数
回复 支持 反对

使用道具 举报

 楼主| wwj722 发表于 2015-12-13 09:06:47 | 显示全部楼层
dengke 发表于 2015-12-13 07:15.鐣欏璁哄潧-涓浜-涓夊垎鍦
换题啦?楼主能详细说一下翻转链表和subtree的问题吗?我17号due!!
.鏈枃鍘熷垱鑷1point3acres璁哄潧
翻转列表面经里就有啊,reverse second half linkedlist。奇数从中间开始翻。. 1point 3acres 璁哄潧
subtree就是判断root2 是否root1的subtree,return -1 or 1.
回复 支持 反对

使用道具 举报

 楼主| wwj722 发表于 2015-12-13 09:07:07 | 显示全部楼层
LOUIS懒蟲 发表于 2015-12-13 07:59
. 1point3acres.com/bbs楼主觉得subtree 最优解法是recursion吗, 我用iterate 写的,时间复杂度一样,但是用了stack,马上video了 ...

我用的是recursion。我觉得都差不多吧。
回复 支持 反对

使用道具 举报

 楼主| wwj722 发表于 2015-12-13 09:07:21 | 显示全部楼层
dengke 发表于 2015-12-13 08:10
是Count Univalue Subtree那道原题吗?还没刷完leetcode不好意思。。。

. visit 1point3acres.com for more.不是。就是判断是不是subtree。
回复 支持 反对

使用道具 举报

dengke 发表于 2015-12-13 09:15:44 | 显示全部楼层
http://algorithms.tutorialhorizon.com/given-two-binary-trees-check-if-one-binary-tree-is-a-subtree-of-another/
http://www.geeksforgeeks.org/check-binary-tree-subtree-another-binary-tree-set-2/
subtree问题找到了用inorder和postorder做的O(N)算法。。。
回复 支持 反对

使用道具 举报

leonidas1573 发表于 2015-12-13 09:18:51 | 显示全部楼层
dengke 发表于 2015-12-13 09:15
http://algorithms.tutorialhorizon.com/given-two-binary-trees-check-if-one-binary-tree-is-a-subtree-o ...

我OA没遇到subtree所以不知道具体要求.-google 1point3acres
不过tree serialization的时候, 如果tree含重复节点, 是不能用inorder+preorder/postorder做线性化的.如果subtree这道题说可以有duplicate node.那么这两种O(N)做法就不ok,只有用naive的方法了.
当然如果subtree说了不能有duplicate, 就没问题
回复 支持 反对

使用道具 举报

 楼主| wwj722 发表于 2015-12-13 09:21:38 | 显示全部楼层
leonidas1573 发表于 2015-12-13 09:18
我OA没遇到subtree所以不知道具体要求.
不过tree serialization的时候, 如果tree含重复节点, 是不能用in ...

recursion也是O(N)的算法啊,你写成iterator本质上没区别的。
回复 支持 反对

使用道具 举报

leonidas1573 发表于 2015-12-13 09:31:19 | 显示全部楼层
recursion是O(N)么.我看到的算法是

  1. class TreeNode {
  2.         int val;
  3.         TreeNode left;
    .1point3acres缃
  4.         TreeNode right;
  5.         TreeNode(int x) { val = x; }
  6. }

  7. public class Subtree {
  8.         public boolean isSubTree(TreeNode T1, TreeNode T2) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  9.                 if (T2 == null)        return true;
  10.                 if (T1 == null)        return false;
  11.                 return (isSameTree(T1,T2) || isSubTree(T1.left, T2) || isSubTree(T1.right, T2));. 鍥磋鎴戜滑@1point 3 acres
  12.         }
  13.         public boolean isSameTree(TreeNode T1, TreeNode T2) {
  14.                 if (T1 == null && T2 == null)        return true;
  15.                 if (T1 == null || T2 == null)        return false;
  16.                 if (T1.val != T2.val)        return false;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  17.                 return (isSameTree(T1.left, T2.left) && isSameTree(T1.right, T2.right));
  18.         }
  19. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| wwj722 发表于 2015-12-13 09:54:46 | 显示全部楼层
leonidas1573 发表于 2015-12-13 09:31
recursion是O(N)么.我看到的算法是

是O(N)啊。因为每个node都会遍历的。
回复 支持 反对

使用道具 举报

ilovemango 发表于 2015-12-14 14:51:48 | 显示全部楼层
谢谢楼主分享,很详细呢,祝楼主马上来video, offer!!!
回复 支持 反对

使用道具 举报

水逼一枚 发表于 2015-12-14 15:59:52 | 显示全部楼层
leonidas1573 发表于 2015-12-13 09:31
recursion是O(N)么.我看到的算法是

recursion复杂度是O(m*n), m是T1的nodes数,n是T2的nodes数,这样回答比较准确还是不要说O(N)的号。
回复 支持 反对

使用道具 举报

水逼一枚 发表于 2015-12-14 16:02:26 | 显示全部楼层
leonidas1573 发表于 2015-12-13 09:18. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
我OA没遇到subtree所以不知道具体要求.. 1point3acres.com/bbs
不过tree serialization的时候, 如果tree含重复节点, 是不能用in ...

这题的最优解是迭代遍历存成字符串后,用KMP实现strStr(), 复杂度做到O(n)
回复 支持 反对

使用道具 举报

水逼一枚 发表于 2015-12-14 16:09:34 | 显示全部楼层
leonidas1573 发表于 2015-12-13 09:18
我OA没遇到subtree所以不知道具体要求.
不过tree serialization的时候, 如果tree含重复节点, 是不能用in ...

还有就是你说的这个duplicate的问题只是在constuctr回binary tree是不行的,但是你用inorder + preorder/postorder遍历后再检测substring是没有问题的。
回复 支持 反对

使用道具 举报

leonidas1573 发表于 2015-12-15 00:58:43 | 显示全部楼层
水逼一枚 发表于 2015-12-14 16:09
还有就是你说的这个duplicate的问题只是在constuctr回binary tree是不行的,但是你用inorder + preorder/ ...
  1.     b           b 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  2.    /           /
  3.   a           a
  4. / \         /. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  5. a   a       a. more info on 1point3acres.com
  6.            /
  7.                   a
复制代码
左树右树三种遍历方式全相等.根据13楼code答案是false.

补充内容 (2015-12-15 00:59):. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
第七行的a向左移动6个字符.图片被弄乱了.
回复 支持 反对

使用道具 举报

水逼一枚 发表于 2015-12-15 01:09:14 | 显示全部楼层
leonidas1573 发表于 2015-12-15 00:58
左树右树三种遍历方式全相等.根据13楼code答案是false..鐣欏璁哄潧-涓浜-涓夊垎鍦

补充内容 (2015-12-15 00:59):

那就这样,只用preorder先序遍历,对null node添加成'#'拼到字符串里,然后再检测子串,你看看行不行,stack允许null的push.
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-9 06:04

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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