605.花の問題
非常に長い花壇があり、区画の一部に花が植えられているが、他の部分には花が植えられていないとします。ただし、隣接する区画に花を植えることはできず、水を奪い合い、両方とも枯れてしまいます。
花壇(0と1を含む配列として表されます。0は花が植えられていないことを意味し、1は花が植えられていることを意味します)と数値nが与えられます。植栽規則に違反せずにn本の花を植えることはできますか?可能な場合はTrueを返し、できない場合はFalseを返します。
class Solution:
def canPlaceFlowers(self, flowerbed: List[int], n: int) -> bool:
tem_list = [0] + flowerbed + [0]
num = len(tem_list)
k = 0
for i in range(1, num-1):
if tem_list[i] == 0 and tem_list[i-1] == 0 and tem_list[i+1] == 0 :
tem_list[i] = 1
k+=1
return(k >= n) ##注意这里是大于等于而不是等于,看清题目