美文网首页Leetcode
Leetcode 605. Can Place Flowers

Leetcode 605. Can Place Flowers

作者: SnailTyan | 来源:发表于2021-07-23 11:16 被阅读0次

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

1. Description

Can Place Flowers

2. Solution

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

  • Version 1
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/

相关文章

网友评论

    本文标题:Leetcode 605. Can Place Flowers

    本文链接:https://www.haomeiwen.com/subject/jqsiultx.html