g0601_0700.s0605_can_place_flowers.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g0601_0700.s0605_can_place_flowers;
// #Easy #Array #Greedy #Udemy_Arrays #2022_03_21_Time_1_ms_(96.77%)_Space_51.2_MB_(61.33%)
/**
* 605 - Can Place Flowers\.
*
* Easy
*
* 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.
*
* **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 class Solution {
public boolean canPlaceFlowers(int[] flowerbed, int n) {
for (int i = 0; i < flowerbed.length; i++) {
if (flowerbed[i] == 0 && n > 0) {
boolean left = i == 0 || flowerbed[i - 1] == 0;
boolean right = i == flowerbed.length - 1 || flowerbed[i + 1] == 0;
if (left && right) {
flowerbed[i] = 1;
n--;
}
}
if (n == 0) {
break;
}
}
return n == 0;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy