Can Place Flowers
LeetCode題目: 605. Can Place Flowers
My solution:
/**
* @param {number[]} flowerbed
* @param {number} n
* @return {boolean}
*/
let canPlaceFlowers = (flowerbed, n) => {
let cloneFlowerbed = [...flowerbed], last = n;
if(cloneFlowerbed.length < 1 || cloneFlowerbed.length > 2*Math.pow(10,4)) return 'flowerbed\'s length error!';
if(last < 0 || last > cloneFlowerbed.length) return 'new flowers\' length error';
for(let i= 0; i<cloneFlowerbed.length; i++) {
if(![0,1].includes(cloneFlowerbed[i])) return 'flowerbed\'s array just only type 0 or 1'
if((cloneFlowerbed[i-1] === 0 || cloneFlowerbed[i-1] === undefined) && cloneFlowerbed[i] === 0 && (cloneFlowerbed[i+1] === 0 || cloneFlowerbed[i+1] === undefined) && last > 0) {
cloneFlowerbed[i] = 1;
last--;
}
}
return last === 0 ? true : false;
};