一亩三分地论坛

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

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

01.18 Amazon 电面 Phone Interview 第一轮

[复制链接] |试试Instant~ |关注本帖
lcslzhf 发表于 2016-1-19 07:18:14 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 全职@Amazon - 内推 - 在线笔试 |Passfresh grad应届毕业生

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

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

x
结果还不知道 刚面完~ 直接上题
Coding Question:
Given an array with relative indexes, determine if there is a single complete cycle or not.
For example:
x = [3, 1, 2, -1] - false. Waral 鍗氬鏈夋洿澶氭枃绔,
y = [-5, 1, 4, 6, 4, 2, -1, 5] - true

. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
Solution:
static boolean isCycle(int []arr){
if(arr.length==0)
{ return false;
}
  boolean []visited= new boolean[arr.length];
  int current=0;
  int count=0;
   while(count<arr.length)
     { if(current>=0)
       { current=(current+arr[current])%arr.length;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
       }
. Waral 鍗氬鏈夋洿澶氭枃绔,       if(current<0)
       { current=current+arr.length;
       }.1point3acres缃
       visited[current]=true;
       count++;
   }
   for(int i=0;i<visited.length;i++)
   {if(!visited[i])
     {return false;.鏈枃鍘熷垱鑷1point3acres璁哄潧
     }-google 1point3acres
    }
    return true;. visit 1point3acres.com for more.
}
. From 1point 3acres bbs

之后他让我demo了一下 上面的例子, 我估计是他不知道我的solution怎么样 要试试看
//[3,1,2,-1]. From 1point 3acres bbs
// 0. count =0
//[0,0,0,0]
//[false,false,false,true]  current=3 count=1
//[false,false,true,true]  current=2,count=2
//[true,false,true,true] current=0,count=3;
. From 1point 3acres bbs


// [-5, 1, 4, 6, 4, 2, -1, 5]
//visited[false....]
//current=3
//visited[0,0,0,1..] count=1
//current=1
//[0,1,0,1...] count=2
// visited[0,0,0,1...] 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
// current=2
//[0,1,1,1..] count=3
//current=6
//[0,1,1,1,0,0,1,0]count=4. Waral 鍗氬鏈夋洿澶氭枃绔,
//current=5
//[0,1,1,1,0,1,1,0] count=5
//current=7
//[0,1,1,1,0,1,1,1] count=6
//current=4
//[0,1,1,1,1,1,1,1] count=7
//current=0
//[1,1,1,1,1,1,1,1] count=8

. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴


本帖被以下淘专辑推荐:

xiaozhuxiaozhu 发表于 2016-1-19 07:42:40 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
amazon今天卜放假么?lz申请的是全职?
回复 支持 反对

使用道具 举报

elink 发表于 2016-1-19 07:45:41 | 显示全部楼层
关注一亩三分地微博:
Warald
确定还有一轮电面么?怎么HR email写的是final round?
回复 支持 反对

使用道具 举报

candy_shmily 发表于 2016-1-19 08:45:54 | 显示全部楼层
lz只面了一题coding?有没有遇到OOD的题?
回复 支持 反对

使用道具 举报

gouber 发表于 2016-1-19 09:01:30 | 显示全部楼层
楼主relative indexes指的什么呀?这题是让找什么cycle?
求职神器indeed - 在全球最大的求职网站找找适合你的工作?
回复 支持 反对

使用道具 举报

nintendodog 发表于 2016-1-19 12:32:53 | 显示全部楼层
lz 能再把题目讲得清楚一点儿吗? 你这么说听不太懂哎
回复 支持 反对

使用道具 举报

 楼主| lcslzhf 发表于 2016-1-19 13:19:22 | 显示全部楼层
xiaozhuxiaozhu 发表于 2016-1-19 07:42
amazon今天卜放假么?lz申请的是全职?

应该没放假,全职。
回复 支持 反对

使用道具 举报

 楼主| lcslzhf 发表于 2016-1-19 13:19:39 | 显示全部楼层
elink 发表于 2016-1-19 07:45.1point3acres缃
确定还有一轮电面么?怎么HR email写的是final round?

我没有OA,第一轮就phone
回复 支持 反对

使用道具 举报

 楼主| lcslzhf 发表于 2016-1-19 13:19:54 | 显示全部楼层
candy_shmily 发表于 2016-1-19 08:45
lz只面了一题coding?有没有遇到OOD的题?
. From 1point 3acres bbs
并没~~这才第一轮
回复 支持 反对

使用道具 举报

candy_shmily 发表于 2016-1-19 13:21:37 | 显示全部楼层
lcslzhf 发表于 2016-1-19 00:19
并没~~这才第一轮

欧lz这是全职 好吧~还以为是实习就一轮 good luck~
回复 支持 反对

使用道具 举报

 楼主| lcslzhf 发表于 2016-1-19 14:45:44 | 显示全部楼层
nintendodog 发表于 2016-1-19 12:32
lz 能再把题目讲得清楚一点儿吗? 你这么说听不太懂哎

从第一个元素开始,然后,正数就是向右move多少个steps,负数就是向左移动多少个steps,然后检查cycle. 阿三是这么说的~
回复 支持 反对

使用道具 举报

 楼主| lcslzhf 发表于 2016-1-19 14:47:04 | 显示全部楼层
gouber 发表于 2016-1-19 09:01
楼主relative indexes指的什么呀?这题是让找什么cycle?

一个小时只能回复3个 用过了技能冷却ING,题意其实就是我回复的那样 如果越界了 就反向走。。。
回复 支持 反对

使用道具 举报

elvisxyu 发表于 2016-1-26 12:24:21 | 显示全部楼层
其实楼主代码可以简化,没必要走完全部的count,如果已经走过了就可以返回false
这样还可以省去最后的那个for循环。

还能用O(n)time O(1)space实现
回复 支持 反对

使用道具 举报

ningtaohaha 发表于 2016-2-11 12:54:19 | 显示全部楼层
elvisxyu 发表于 2016-1-26 12:24
其实楼主代码可以简化,没必要走完全部的count,如果已经走过了就可以返回false. more info on 1point3acres.com
这样还可以省去最后的那个 ...

public boolean isCycle(int[] array){
        if (array == null || array.length == 0) {
            return false;
        }
        Set<Integer> set = new HashSet<>();
        int index = 0;
        set.add(0);
        while (set.size() < array.length) { // set is better than counter. From 1point 3acres bbs
            if (index + array[index] > 0) {
                index = (index + array[index]) % array.length;. From 1point 3acres bbs
            } else if (index + array[index] < 0){
                index = index + array[index];
                while (index < 0) {
                    index += array.length;
                }. From 1point 3acres bbs
            }
            if (!set.add(index)) {
                return true;
            }.鐣欏璁哄潧-涓浜-涓夊垎鍦
        }
        return false;
    }
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-2-22 05:35

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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