# LeetCode challenge – Can Place Flowers – Java Solution

This is a solution for the LeetCode challenge – Can Place Flowers written in Java ( Source )

Suppose 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 – they would compete for water and both would die.

Given a flowerbed (represented as an array containing 0 and 1, where 0 means empty and 1 means not empty), and a number n, return if n new flowers can be planted in it 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 Note: The input array won’t violate no-adjacent-flowers rule. The input array size is in the range of [1, 20000]. n is a non-negative integer which won’t exceed the input array size.

```public class CanPlaceFlowers {

public static void main(String[] args) throws Exception {
int[] n = {1, 0, 0, 0, 1};
System.out.println(new CanPlaceFlowers().canPlaceFlowers(n, 1));
}

public boolean canPlaceFlowers(int[] flowerbed, int n) {

int[] T = new int[flowerbed.length + 4];
for (int i = 0, j = 2; i < flowerbed.length; i++) T[j++] = flowerbed[i];
T = 1;
T[T.length - 1] = 1;
int total = 0, count = 0;
for (int i = 1; i < T.length; i++) {
if (T[i] == 0) count++;
else {
if ((count % 2) == 0) total += ((count / 2) - 1);
else total += (count / 2);
count = 0; // reset
}
}
return (total >= n);
}
}```

This site uses Akismet to reduce spam. Learn how your comment data is processed.