May 2009 - May 2017 论坛八周年-你的足迹,我的骄傲


一亩三分地论坛

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

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

Amzon电面 03.19

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

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

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

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

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


接下来,没问概念问题,直接码代码:
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)
* between these two words in the provided text.. 1point 3acres 璁哄潧
* Example:
* 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, 订阅: 5
mhbkb 发表于 2015-3-21 12:32:32 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
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;. 鍥磋鎴戜滑@1point 3 acres
            if(words == word2) index2 = i;. more info on 1point3acres.com
            if((words == word1 || words == word2) && index1 != -1 && index2 != -1) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                res = Math.max(Math.abs(index1 - index2), res);
            }
        }. Waral 鍗氬鏈夋洿澶氭枃绔,

        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 | 显示全部楼层
关注一亩三分地微博:
Warald
mhbkb 发表于 2015-3-21 12:44
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放入,并且检查当前指数的差是否为最小值,最后返回最小值
.鐣欏璁哄潧-涓浜-涓夊垎鍦
回复 支持 反对

使用道具 举报

seabiscuit119 发表于 2015-3-21 12:40:18 | 显示全部楼层
mhbkb 发表于 2015-3-21 12:32
public static int Distance(String[] words, String word1, String word2) {
.1point3acres缃
        if(words == null ...

the shortest distance?
回复 支持 反对

使用道具 举报

mhbkb 发表于 2015-3-21 12:44:40 | 显示全部楼层
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
assert(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. visit 1point3acres.com for more.
_(:з」∠)_那应该是res = Integer.MAX_VALUE, 然后最后改成Math.min()就对了吧

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

使用道具 举报

mhbkb 发表于 2015-3-22 01:27:42 | 显示全部楼层
Luciferre 发表于 2015-3-22 01:08. 1point3acres.com/bbs
_(:з」∠)_那应该是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. visit 1point3acres.com for more.
public static int Distance(String[] words, String word1, String word2) {

        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) {
. Waral 鍗氬鏈夋洿澶氭枃绔,
        if(words == null ...

懂了~~~赞~哈哈
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-5-26 23:03

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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