LeetCode 605 種花問題

2021-10-01 10:43:07 字數 751 閱讀 1112

假設你有乙個很長的花壇,一部分地塊種植了花,另一部分卻沒有。可是,花卉不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。

給定乙個花壇(表示為乙個陣列包含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。解...