V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
alexg812
V2EX  ›  程序员

这道亚马逊的笔试题感觉答案不太对

  •  
  •   alexg812 · 2020-05-03 02:00:01 +08:00 · 2694 次点击
    这是一个创建于 1667 天前的主题,其中的信息可能已经有所发展或是发生改变。

    当传入 [1,1,1,0,1,1,1,1] 和 2 days 的时候给预期答案是返回 [0,0,0,0,0,1,1,0], 但是我算出来不应该返回 [0,1,0,0,0,1,0,0] 才对吗?是我理解错了吗?

    1.png

    7 条回复    2020-05-04 04:39:22 +08:00
    ConradG
        1
    ConradG  
       2020-05-03 02:17:36 +08:00
    [1, 0, 1] --> [x, 1, y]
    sneezry
        2
    sneezry  
       2020-05-03 02:19:55 +08:00
    day 0: 1,1,1,0,1,1,1,1
    day 1: 1,0,1,0,1,0,0,1
    day 2: 0,0,0,0,0,1,1,0

    var preArr, arr = [1,1,1,0,1,1,1,1];
    var day = 2;

    while(day--) {
    preArr = arr;
    arr = [];
    for (let i = 0; i < preArr.length; i++) {
    let left = i > 0 ? preArr[i - 1] : 0;
    let right = i < preArr.length - 1 ? preArr [i + 1] : 0;
    arr[i] = left ^ right;
    }
    }

    console.log(arr)
    alexg812
        3
    alexg812  
    OP
       2020-05-03 02:24:30 +08:00
    @sneezry 原来 day 1 的时候第 1 个和最后 1 个值不变吗,我以为 day 1 就要变 0 了
    alexg812
        4
    alexg812  
    OP
       2020-05-03 02:27:29 +08:00
    @sneezry 感谢,这样的话我就理解了,之前一直想着从第一天开始就要变,钻牛角尖了
    Mirage09
        5
    Mirage09  
       2020-05-03 07:08:31 +08:00 via iPhone
    sneezry
        6
    sneezry  
       2020-05-03 20:55:42 +08:00
    @alexg812

    > The two cells on the ends have single adjacent cell, so the other adjacent cell can be assumend to be aways inactive.

    两端的数字只有一个相邻数,缺失的另一边可以看作永远是 0 ( inactive )。

    所以是:(0,)1,1,1,0,1,1,1,1(,0)
    alexg812
        7
    alexg812  
    OP
       2020-05-04 04:39:22 +08:00
    @sneezry 看来还是我理解出错了,再次感谢指导
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4800 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 04:02 · PVG 12:02 · LAX 20:02 · JFK 23:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.