Can Place Flowers (E)
題目
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 * 104flowerbed[i]is0or1.- There are no two adjacent flowers in
flowerbed. 0 <= n <= flowerbed.length
題意
在一排土地上種花,每株花不能相鄰,問能否種下n株花,
思路
貪心,從左到右遍歷,只要符合條件就種花,
代碼實作
Java
class Solution {
public boolean canPlaceFlowers(int[] flowerbed, int n) {
if (n == 0) {
return true;
}
for (int i = 0; i < flowerbed.length; i++) {
if (flowerbed[i] == 0 && (i == 0 || flowerbed[i - 1] == 0) && (i == flowerbed.length - 1 || flowerbed[i + 1] == 0)) {
flowerbed[i] = 1;
n--;
if (n == 0) {
return true;
}
}
}
return false;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/230537.html
標籤:其他
上一篇:雙向鏈表和雙向回圈鏈表
下一篇:安裝MMDetection
