LeetCode 605.种花问题

LeetCode 605.种花问题(贪心练习)

emm简单题也把我难住了。

整体思路

先看看题目吧:

假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。

给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false。

下面是示例和提示:
在这里插入图片描述
其实刚开始自己被各种没想到的情况折腾的不行,但其实还是没有找到能够一劳永逸的种花判断条件,看了力扣官方解答…emmm这是写了一篇作文了,然后发现其他人有更好更简洁的解法,为什么我就想不到呢。。。

  1. 不能出现连续的两个“1”,所给数组能种植的花大于等于n则返回true;

  2. 可以种花的条件是:
    (外层循环)
    ①自己为空
    &&
    ②左边为空或自己是最左边
    &&
    ③右边为空或自己是最右边

    每循环一次则判断一次是否满足已种植n朵❀的条件,若满足则退出循环。

完整提交代码


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值