let flowerbed = [0,1,0];
var canPlaceFlowers = function(flowerbed, n) {
let sum = 0; // 花园中能存放花的最大数量
let index = - 2; // 当前1所在的数组中的索引 初始值设为-2的原因是 当数组第一个元素为0能置1时其前后位都得不为1,故-1位置不能设为1的起始位 要设置-2为1的起始位才行
for(let i = 0; i < flowerbed.length; i++) {
if (flowerbed[i] == 1) {
let curr1 = parseInt((i - index) / 2) - 1; // parseInt() 丢弃小数部分取整数部分
sum += curr1 < 0 ? 0 : curr1;
index = i;
}
}
let curr2 = parseInt((flowerbed.length + 1 - index) / 2) - 1; // 当数组末尾还有一大部分的连续0出现时 需要将末尾能放置1的位置数一同加上 注意此处flowerbed.length + 1的原因与index初始值设为-2原因类似
sum += curr2 < 0 ? 0 : curr2;
return sum >= n ? true : false;
};
console.log(canPlaceFlowers(flowerbed, 1));
console