分析
贪心,只要找到能种下花的坑就种花,每次只需要对左右边界情况进行判断即可。
C++ 代码
class Solution {
public:
bool canPlaceFlowers(vector<int>& flowerbed, int n) {
if(n==0) return true;
int m=flowerbed.size();
for(int i=0;i<m;i++)
{
if(flowerbed[i]==0)
{
if((i==0 || flowerbed[i-1]==0) && (i==m-1 || flowerbed[i+1]==0)) //左边界,右边界情况
{
flowerbed[i]=1;
n--;
}
}
}
return n<=0;
}
};