1/1
特判一下开头结尾,和长度为1的数组
其他情况就连续三个0,将中间种花即可
class Solution {
public boolean canPlaceFlowers(int[] flowerbed, int n) {
int m=flowerbed.length;
int ans=0;
if(m==1){
ans=flowerbed[0]==0?1:0;
}
if(m>=2&&flowerbed[0]==0&&flowerbed[1]==0){
ans++;
flowerbed[0]=1;
}
if(m>=2&&flowerbed[m-1]==0&&flowerbed[m-2]==0){
flowerbed[m-1]=1;
ans++;
}
for(int i=2;i<m;i++){
if(flowerbed[i]==0&&flowerbed[i-1]==0&&flowerbed[i-2]==0){
ans++;
flowerbed[i-1]=1;
}
}
if(ans>=n){
return true;
}
return false;
}
}