一亩三分地论坛

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

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

Amzon电面 03.19

[复制链接] |试试Instant~ |关注本帖
samson1215 发表于 2015-3-20 11:57:04 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 实习@Amazon - 校园招聘会 - 技术电面 |Other

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

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

x
太平洋时间3点整,电话准时到来:一上来,面试官先自我介绍,看名字是个中国小哥,做什么interface的,没太听清,说话忒快,面试期间好几次I'm sorry。。。= =
然后让我介绍一下做过的proj,以及why choose Amazon。

. more info on 1point3acres.com
接下来,没问概念问题,直接码代码:. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
1)第一题:树(有多个children)的层次遍历
/**
* Definition for tree
* class TreeNode {
*     int val;
*     List<TreeNode> children;
* }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
*/
要注意的是,输出不同层要记得换行。


2)第二题:
/* This class will be given a list of words (such as tokenized words from a paragraph of text).
* It will also provide a method that takes two words and returns the shortest distance(in words).鏈枃鍘熷垱鑷1point3acres璁哄潧
* between these two words in the provided text.
* Example:. more info on 1point3acres.com
* WordDistanceFinder finder = new WordDistanceFinder(Arrays.asList(“the”, “quick”, “brown”, “fox”, “quick”));
* assert(finder.distance(“fox”, “the”) == 3);
* assert(finder.distance(“quick”, “fox”) == 1);

要注意的是,输入List中的words会有重复。

第二题写的过程中,思路卡在一个地方,想用HashMap,但不知道怎么存储同一个word的多个index,然后央求小哥给个hint。小哥就慷慨地讲了一点,说用HashMap<String,List<Integer>>, 然后继续码。。
最后又卡在两个sorted List找出元素最小distance,真是给自己跪了,看时间也不多了,想用两个for loop,但小哥说O(n^2)太复杂,不允许。。然后时间就到了。。

说下周给回复,也不抱多大希望了。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
还是经验不足,有些紧张,自己慢慢修炼吧! 各位加油!

评分

2

查看全部评分

本帖被以下淘专辑推荐:

  • · FLAGT|主题: 11, 订阅: 6
mhbkb 发表于 2015-3-21 12:32:32 | 显示全部楼层
public static int Distance(String[] words, String word1, String word2) {
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
        if(words == null || words.length <= 0) return -1;
        int index1 = -1;
        int index2 = -1;
        int res = -1;
        for(int i = 0; i < words.length; ++i) {

            if(words == word1) index1 = i;. visit 1point3acres.com for more.
            if(words == word2) index2 = i;
            if((words == word1 || words == word2) && index1 != -1 && index2 != -1) {
                res = Math.max(Math.abs(index1 - index2), res);
            }
        }
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
        return res;
    }.鏈枃鍘熷垱鑷1point3acres璁哄潧

补充内容 (2015-3-22 01:28):
res = Math.min(Math.abs(index1 - index2), res);
回复 支持 2 反对 0

使用道具 举报

Luciferre 发表于 2015-3-22 01:08:23 | 显示全部楼层
mhbkb 发表于 2015-3-21 12:44. visit 1point3acres.com for more.
assert(finder.distance(“fox”, “the”) == 3);
assert(finder.distance(“quick”, “fox”) == 1); ...
.鐣欏璁哄潧-涓浜-涓夊垎鍦
_(:з」∠)_那应该是res = Integer.MAX_VALUE, 然后最后改成Math.min()就对了吧

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

LuckyGemini 发表于 2015-3-20 12:52:06 | 显示全部楼层
good luck LZ
回复 支持 反对

使用道具 举报

williamwjs 发表于 2015-3-20 13:25:40 | 显示全部楼层
顶!希望LZ拿到offer~~
回复 支持 反对

使用道具 举报

catinclay 发表于 2015-3-20 23:21:21 | 显示全部楼层
问一下LZ ,第二题是要求预处理之后取出时间要O(1)还是O(n)便可?
回复 支持 反对

使用道具 举报

 楼主| samson1215 发表于 2015-3-21 08:27:43 | 显示全部楼层
catinclay 发表于 2015-3-20 23:21. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
问一下LZ ,第二题是要求预处理之后取出时间要O(1)还是O(n)便可?

按他的意思,O(n)就行了
回复 支持 反对

使用道具 举报

catinclay 发表于 2015-3-21 11:47:20 | 显示全部楼层
那我这样说个你看行不行,
当一组String pair(String A,String B)被传递进来的时候,就开始在列表中遍历,并创建另一个int Pair( INT indexA , INT indexB ) 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
每当遇到对其中的一个字符串时,就把对应的index放入,并且检查当前指数的差是否为最小值,最后返回最小值
. 1point 3acres 璁哄潧
回复 支持 反对

使用道具 举报

seabiscuit119 发表于 2015-3-21 12:40:18 | 显示全部楼层
mhbkb 发表于 2015-3-21 12:32
public static int Distance(String[] words, String word1, String word2) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

        if(words == null ...

the shortest distance?
回复 支持 反对

使用道具 举报

mhbkb 发表于 2015-3-21 12:44:40 | 显示全部楼层
seabiscuit119 发表于 2015-3-21 12:40. 1point 3acres 璁哄潧
the shortest distance?

. 1point3acres.com/bbsassert(finder.distance(“fox”, “the”) == 3);
assert(finder.distance(“quick”, “fox”) == 1);

题意应该是只要shortest distance就行了~
回复 支持 反对

使用道具 举报

seabiscuit119 发表于 2015-3-22 01:17:55 | 显示全部楼层
Luciferre 发表于 2015-3-22 01:08
_(:з」∠)_那应该是res = Integer.MAX_VALUE, 然后最后改成Math.min()就对了吧

i think so...
回复 支持 反对

使用道具 举报

mhbkb 发表于 2015-3-22 01:27:42 | 显示全部楼层
Luciferre 发表于 2015-3-22 01:08.鐣欏璁哄潧-涓浜-涓夊垎鍦
_(:з」∠)_那应该是res = Integer.MAX_VALUE, 然后最后改成Math.min()就对了吧

果然是的~
回复 支持 反对

使用道具 举报

mhbkb 发表于 2015-3-22 01:28:02 | 显示全部楼层
mhbkb 发表于 2015-3-21 12:32
public static int Distance(String[] words, String word1, String word2) {

        if(words == null ...
.鐣欏璁哄潧-涓浜-涓夊垎鍦
res = Math.min(Math.abs(index1 - index2), res);
回复 支持 反对

使用道具 举报

 楼主| samson1215 发表于 2015-3-22 10:18:24 | 显示全部楼层
mhbkb 发表于 2015-3-21 12:32
public static int Distance(String[] words, String word1, String word2) {

        if(words == null ...

方法赞!
回复 支持 反对

使用道具 举报

shadow7429 发表于 2016-1-18 11:31:18 | 显示全部楼层
mhbkb 发表于 2015-3-21 12:32
public static int Distance(String[] words, String word1, String word2) {. from: 1point3acres.com/bbs

        if(words == null ...

这个方法应该是适用于words这个集合比较小的情况吧~?
回复 支持 反对

使用道具 举报

shadow7429 发表于 2016-1-18 11:32:46 | 显示全部楼层
mhbkb 发表于 2015-3-21 12:32
public static int Distance(String[] words, String word1, String word2) {
. 鍥磋鎴戜滑@1point 3 acres
        if(words == null ...
. 1point 3acres 璁哄潧
懂了~~~赞~哈哈
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-4 12:39

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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