Can Place Flowers

    这道题为简单题

  题目:

    

 

  思路:

    我是这么想的:能够种植的条件有三种,其一、当前元素为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

 

posted @ 2017-09-21 18:37  唐僧洗发爱飘柔  阅读(159)  评论(0)    收藏  举报