Golang:
思路:贪心加跳跃
代码如下:
func canPlaceFlowers(flowerbed []int, n int) bool {
if n==0{
return true
}
pt1:=0
for pt1<len(flowerbed){
if flowerbed[pt1]==0&&(pt1==0||flowerbed[pt1-1]==0)&&(pt1==len(flowerbed)-1||flowerbed[pt1+1]==0){
flowerbed[pt1]=1
n--
if n==0{
return true
}
}
if flowerbed[pt1]==1{
pt1++
}
pt1++
}
return false
}
有疑问加站长微信联系(非本文作者)