leetcode-605. 种花问题

605. 种花问题 - 力扣(Leetcode)

下面是中间有0的情况下,可以种植的个数
1 0
2 0
3 1
4 1
5 2
6 2
7 3
8 3
9 4

两边边界问题,左边我使用 begin 往后挪了两位后认为是1,右边往右挪了两位后算作1

func canPlaceFlowers(flowerbed []int, n int) bool {
if n <= 0 {
return true
}
flowerbed = append(flowerbed, 0, 1)
begin := -2
canPlantCnt := 0
for end, value := range flowerbed {
if value == 1 && end > begin {
curCnt := int((end-begin-2) / 2)
if curCnt > 0 {
canPlantCnt += curCnt
}
begin = end
}
}
return n <= canPlantCnt
}
posted @   吴丹阳-V  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示