一亩三分地论坛

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

扫码关注一亩三分地公众号
查看: 1949|回复: 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
y = [-5, 1, 4, 6, 4, 2, -1, 5] - true


Solution:
static boolean isCycle(int []arr){
if(arr.length==0)
{ return false;. visit 1point3acres.com for more.
}
  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;
       }. 鍥磋鎴戜滑@1point 3 acres
       if(current<0). 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
       { current=current+arr.length;
       }
       visited[current]=true;
       count++;
   }
   for(int i=0;i<visited.length;i++)
   {if(!visited[i])
     {return false;. more info on 1point3acres.com
     }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
    } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    return true;. visit 1point3acres.com for more.
}
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
. Waral 鍗氬鏈夋洿澶氭枃绔,
之后他让我demo了一下 上面的例子, 我估计是他不知道我的solution怎么样 要试试看
//[3,1,2,-1].鏈枃鍘熷垱鑷1point3acres璁哄潧
// 0. count =0. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
//[0,0,0,0]
//[false,false,false,true]  current=3 count=1. From 1point 3acres bbs
//[false,false,true,true]  current=2,count=2
//[true,false,true,true] current=0,count=3;
-google 1point3acres


// [-5, 1, 4, 6, 4, 2, -1, 5]
//visited[false....]
//current=3
//visited[0,0,0,1..] count=1
//current=1.鏈枃鍘熷垱鑷1point3acres璁哄潧
//[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. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
//current=5
//[0,1,1,1,0,1,1,0] count=5. 1point 3acres 璁哄潧
//current=7
//[0,1,1,1,0,1,1,1] count=6. Waral 鍗氬鏈夋洿澶氭枃绔,
//current=4
//[0,1,1,1,1,1,1,1] count=7. 鍥磋鎴戜滑@1point 3 acres
//current=0
//[1,1,1,1,1,1,1,1] count=8



. 鍥磋鎴戜滑@1point 3 acres

本帖被以下淘专辑推荐:

xiaozhuxiaozhu 发表于 2016-1-19 07:42:40 | 显示全部楼层
amazon今天卜放假么?lz申请的是全职?
回复 支持 反对

使用道具 举报

elink 发表于 2016-1-19 07:45:41 | 显示全部楼层
确定还有一轮电面么?怎么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?
回复 支持 反对

使用道具 举报

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
确定还有一轮电面么?怎么HR email写的是final round?

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

使用道具 举报

 楼主| lcslzhf 发表于 2016-1-19 13:19:54 | 显示全部楼层
candy_shmily 发表于 2016-1-19 08:45
lz只面了一题coding?有没有遇到OOD的题?

并没~~这才第一轮
回复 支持 反对

使用道具 举报

candy_shmily 发表于 2016-1-19 13:21:37 | 显示全部楼层
lcslzhf 发表于 2016-1-19 00:19
并没~~这才第一轮
-google 1point3acres
欧lz这是全职 好吧~还以为是实习就一轮 good luck~
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

 楼主| lcslzhf 发表于 2016-1-19 14:47:04 | 显示全部楼层
gouber 发表于 2016-1-19 09:01. From 1point 3acres bbs
楼主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
这样还可以省去最后的那个 ...

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
            if (index + array[index] > 0) {. 1point3acres.com/bbs
                index = (index + array[index]) % array.length;
            } else if (index + array[index] < 0){
                index = index + array[index];
                while (index < 0) {
                    index += array.length;
                }
            }
            if (!set.add(index)) {
                return true;. more info on 1point3acres.com
            }. more info on 1point3acres.com
        }
        return false;
    }
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-5 03:36

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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