- Can Place Flowers
最初こう考えたが、
class Solution:
def canPlaceFlowers(self, flowerbed: List[int], n: int) -> bool:
sum_num = sum(flowerbed) + n
return len(flowerbed)-sum_num > len(flowerbed)/2-1
[0,1,0]などの時うまくいかない。
実直に一つずつ見て判別してみる。
class Solution:
def canPlaceFlowers(self, flowerbed: List[int], n: int) -> bool:
for i in range(len(flowerbed)):
left = (i == 0) or (flowerbed[i-1] == 0)#最初or左が0
right = (i == len(flowerbed)-1) or (flowerbed[i+1] == 0)#最後or右が0
if flowerbed[i] == 0 and left and right:
flowerbed[i] = 1
n -= 1
return n <= 0 #0ばかりの時nはマイナスになる
思いつきたかった。