• 请不要在回答技术问题时复制粘贴 AI 生成的内容
alexg812
V2EX  ›  程序员

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

  •  
  •   alexg812 · May 3, 2020 · 3287 views
    This topic created in 2202 days ago, the information mentioned may be changed or developed.

    当传入 [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 replies    2020-05-04 04:39:22 +08:00
    ConradG
        1
    ConradG  
       May 3, 2020
    [1, 0, 1] --> [x, 1, y]
    sneezry
        2
    sneezry  
       May 3, 2020
    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
       May 3, 2020
    @sneezry 原来 day 1 的时候第 1 个和最后 1 个值不变吗,我以为 day 1 就要变 0 了
    alexg812
        4
    alexg812  
    OP
       May 3, 2020
    @sneezry 感谢,这样的话我就理解了,之前一直想着从第一天开始就要变,钻牛角尖了
    sneezry
        6
    sneezry  
       May 3, 2020
    @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
       May 4, 2020
    @sneezry 看来还是我理解出错了,再次感谢指导
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5845 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 102ms · UTC 01:49 · PVG 09:49 · LAX 18:49 · JFK 21:49
    ♥ Do have faith in what you're doing.