605. Can Place Flowers

Suppose you have a long flowerbed in which some of the plots are planted and some are not. However, flowers cannot be planted in adjacent plots – they would compete for water and both would die.

Given a flowerbed (represented as an array containing 0 and 1, where 0 means empty and 1 means not empty), and a number n, return if n new flowers can be planted in it without violating the no-adjacent-flowers rule.

Example 1:

Input: flowerbed = [1,0,0,0,1], n = 1
Output: True

Example 2:

Input: flowerbed = [1,0,0,0,1], n = 2
Output: False

Note:

  1. The input array won’t violate no-adjacent-flowers rule.
  2. The input array size is in the range of [1, 20000].
  3. n is a non-negative integer which won’t exceed the input array size.
class Solution(object):
    def canPlaceFlowers(self, flowerbed, n):

        z = 1
        for i in flowerbed:
            if i == 0:
                z+=1
                if z==3:
                    n-=1
                    z = 1
            else:
                z = 0

        if z == 2:
            n -= 1

        return n<=0

 

Leave a Reply

Your email address will not be published. Required fields are marked *