关于种花问题

来源:3-7 种花问题-代码演示

meimei1314

2020-02-18

您好,老师。关于种花问题,有两点无法理解。

for (let i=0; i<flowerbed.length - 1; i++) {
        if (flowerbed[i] === 0) {
            if (i === 0 && flowerbed[1] === 0) {
                max += 1;
                i += 1
            } else if (flowerbed[i-1] === 0 && flowerbed[i+1] === 0) {
                max += 1;
                i += 1
            }
        }
    }

第一,为何flowerbed.length - 1呢?如果最后两个值是0,0的话,减一,是否会导致l漏掉最后一个0?
第二,为什么一定是当前索引对应的值等于0的时候才能跳过一个,而当前索引对应的值等于1的时候不能跳过去呢?因为当前的值等于1,所以下一个右边是没办法种植话,不是么?

写回答

1回答

快乐动起来呀

2020-02-21

看到这个没?flowerbed[i+1],如果到 flowerbed.length - 1那i+1就越界了

0
0

JavaScript版 数据结构与算法

填补前端同学的算法短板,掌握面试中最常见的算法与数据结构

2467 学习 · 395 问题

查看课程