Leetcode 605. Can Place Flowers

2021-07-08 16:26:58 浏览数 (1)

文章作者:Tyan 博客:noahsnail.com | CSDN | 简书

1. Description

2. Solution

**解析:**如果n为0,即要种花的数量为0,直接返回True即可。分析什么情况下不能种花,一种是当前地块已经种花了,一种是前一块地已经种花了,一种是后一块地已经种花了,如果都不符合上述三种情况,则当前地块可以种花,且要种的花数减一,每种一次花,判断剩余花的数量,重复上述过程即可。

  • Version 1
代码语言:javascript复制
class Solution:
    def canPlaceFlowers(self, flowerbed: List[int], n: int) -> bool:
        if n == 0:
            return True
        for i in range(len(flowerbed)):
            if flowerbed[i] == 1 or (i>0 and flowerbed[i-1] == 1) or (i<len(flowerbed)-1 and flowerbed[i 1] == 1):
                continue
            flowerbed[i] = 1
            n -= 1
            if n == 0:
                return True
        return False 

Reference

  1. https://leetcode.com/problems/can-place-flowers/

0 人点赞