Leetcode Note: Go - Can Place Flowers
Can Place Flowers - LeetCode
https://leetcode.com/problems/can-place-flowers/
- Go 言語で取り組んだメモ
所感
- flowerbed, n 引数から花を植える間隔を満たしている状態か判定して bool を return する
回答
Can Place Flowers - LeetCode
https://leetcode.com/problems/can-place-flowers/solution/
func canPlaceFlowers(flowerbed []int, n int) bool {
count := 0
for i := 0; i < len(flowerbed); i++ {
if flowerbed[i] == 0 {
emptyLeftPlot := (i == 0) || (flowerbed[i - 1] == 0)
emptyRightPlot := (i == len(flowerbed) - 1) || (flowerbed[i + 1] == 0)
if emptyLeftPlot && emptyRightPlot {
flowerbed[i] = 1;
count++
}
}
}
return count >= n
}
- 植える間隔は配列要素の 0 をカウントすれば良いので、ループしながら前後要素が 0 かをチェックする
- 前後要素の 0 をカウントして n より大きければ植え込み可能として return