605 種花問題

2021-10-08 10:56:53 字數 883 閱讀 6350

題目描述:

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

給定乙個花壇(表示為乙個陣列包含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)如果該位置可以種花,則該位置,該位置的前乙個位置,該位置的後乙個位置都每種花,既數值為0才行;

(2)對於兩端的位置,則只要求單邊為0即可;

(3)按照此判斷條件統計可以種花的位置,若是位置滿足要求,既大於n,則返回true;

(4)否則,最後返回false;

class

solution

if(count>=n)

//若已經種的數量滿足要求,則可以提前終止

return

true;}

//否則,就是不能,返回false

return

false;}

};

605 種花問題

給定乙個花壇 表示為乙個陣列包含0和1,其中0表示沒種植花,1表示種植了花 和乙個數 n 能否在不打破種植規則的情況下種入 n 朵花?能則返回true,不能則返回false。示例 1 輸入 flowerbed 1,0,0,0,1 n 1 輸出 true示例 2 輸入 flowerbed 1,0,0,...

605 種花問題

假設你有乙個很長的花壇,一部分地塊種植了花,另一部分卻沒有。可是,花卉不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。給定乙個花壇 表示為乙個陣列包含0和1,其中0表示沒種植花,1表示種植了花 和乙個數 n 能否在不打破種植規則的情況下種入 n 朵花?能則返回true,不能則返回false。示...

605 種花問題

解題思路 解決本題需考慮以下三種情況 1.第一種情況 n 0,直接返回true 2.第二種情況 陣列中的元素全是0。在不打破種植規則的情況下種入n朵花,至少需要 2 n 1 個連續0,所以只要陣列長度 2 n 1就返回true,否則返回false 3.第三種情況 n 0且陣列中有1又有0。此時又需要...