首页 > 其他 > 详细

Can Place Flowers

时间:2017-09-21 20:23:42      阅读:191      评论:0      收藏:0      [点我收藏+]

    这道题为简单题

  题目:

    技术分享

 

  思路:

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

原文:http://www.cnblogs.com/liuxinzhi/p/7570109.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!