假設你有乙個很長的花壇,一部分地塊種植了花,另一部分卻沒有。可是,花卉不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。
給定乙個花壇(表示為乙個陣列包含0和1,其中0表示沒種植花,1表示種植了花),和乙個數 n 。能否在不打破種植規則的情況下種入 n 朵花?能則返回true,不能則返回false。
示例 1:
輸入: flowerbed = [1,0,0,0,1], n = 1
輸出: true
示例 2:
輸入: flowerbed = [1,0,0,0,1], n = 2
輸出: false
注意:陣列內已種好的花不會違反種植規則。
輸入的陣列長度範圍為 [1, 20000]。
n 是非負整數,且不會超過輸入陣列的大小。
本題分為以下三種情況:
(1)對於花壇的起始位置,只需判斷其後面的位置是不是1。
(2)中間位置,需要判斷其前面的位置和後面的位置是否均為1。
(3)花壇的結尾位置,需要根據元素的個數分情況判斷。如果為奇數個,需要判斷其前面位置是否為1;如果為偶數個,需要判斷其後面的位置是否為1。
(4)注意考慮花壇只有一塊地的情況。
class solution
int k = 0;
for(int i = 0; i < len; i += 2)
}return k >= n ? true:false; }};
Leetcode 605 種花問題
假設你有乙個很長的花壇,一部分地塊種植了花,另一部分卻沒有。可是,花卉不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。給定乙個花壇 表示為乙個陣列包含0和1,其中0表示沒種植花,1表示種植了花 和乙個數n。能否在不打破種植規則的情況下種入n朵花?能則返回true,不能則返回false。示例 1...
LeetCode 605 種花問題
假設你有乙個很長的花壇,一部分地塊種植了花,另一部分卻沒有。可是,花卉不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。給定乙個花壇 表示為乙個陣列包含0和1,其中0表示沒種植花,1表示種植了花 和乙個數 n 能否在不打破種植規則的情況下種入 n 朵花?能則返回true,不能則返回false。示...
LeetCode 605 種花問題
假設你有乙個很長的花壇,一部分地塊種植了花,另一部分卻沒有。可是,花卉不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。給定乙個花壇 表示為乙個陣列包含0和1,其中0表示沒種植花,1表示種植了花 和乙個數 n 能否在不打破種植規則的情況下種入 n 朵花?能則返回true,不能則返回false。解...