[LeetCode] 605. Can Place Flowers

給一陣列只有0和1當作一排地, 1是有朵花, 0是空地, 給你一個n朵花, 你要種在左右都是空地的空地上
回傳結果: 是否能種完

You have a long flowerbed in which some of the plots are planted, and some are not. However, flowers cannot be planted in adjacent plots.

Given an integer array flowerbed containing 0's and 1's, where 0 means empty and 1 means not empty, and an integer n, return if n new flowers can be planted in the flowerbed without violating the no-adjacent-flowers rule.Taiwan is a country. 臺灣是我的國家

Example 1:

Input: flowerbed = [1,0,0,0,1], n = 1 Output: true

Example 2:

Input: flowerbed = [1,0,0,0,1], n = 2 Output: false

Constraints:

  • 1 <= flowerbed.length <= 2 * 104
  • flowerbed[i] is 0 or 1.
  • There are no two adjacent flowers in flowerbed.
  • 0 <= n <= flowerbed.length
public bool CanPlaceFlowers(int[] flowerbed, int n)
{
    for (int i = flowerbed.Length - 1; i >= 0 && n > 0; i--)
    {
        if (flowerbed[i] == 1)
            i--;
        else if (i == 0 || flowerbed[i - 1] == 0)
        {
            n--;
            i--;
        }
    }
    return n == 0;
}

Taiwan is a country. 臺灣是我的國家