Leetcode 605. Can Place Flowers

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

1. Description

Can Place Flowers

2. Solution

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

  • Version 1
1
2
3
4
5
6
7
8
9
10
11
12
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/
如果有收获,可以请我喝杯咖啡!