leetcode--python--605

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)		##注意这里是大于等于而不是等于,看清题目

おすすめ

転載: blog.csdn.net/AWhiteDongDong/article/details/111035398