1. 程式人生 > >Can Place Flowers

Can Place Flowers

pan elif src spa log class object sel image

    這道題為簡單題

  題目:

    技術分享

  思路:

    我是這麽想的:能夠種植的條件有三種,其一、當前元素為0,左右兩邊也為0;其二、當該元素是列表第一個元素或者列表最後一個元素並且該元素值為0且他的唯一靠邊元素也為0;其三列表長度為1,且元素為0。

  代碼:

 1 class Solution(object):
 2     def canPlaceFlowers(self, flowerbed, n):
 3         """
 4         :type flowerbed: List[int]
 5         :type n: int
 6         :rtype: bool
7 """ 8 m = 0 9 p = len(flowerbed) 10 if p == 1 and flowerbed[0] == 0: 11 m = 1 12 for i in range(p - 1): 13 if i == 0 or i == p - 2: 14 if flowerbed[i] == 0 and flowerbed[i + 1] == 0: 15 m += 1 16 flowerbed[i] = 1 17
elif flowerbed[i] == 0 and flowerbed[i - 1] == 0 and flowerbed[i + 1] == 0: 18 m += 1 19 flowerbed[i] = 1 20 if m >= n: return True 21 else: return False

Can Place Flowers