LeetCode 605 種花問題

2021-10-01 03:26:52 字數 843 閱讀 8003

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

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

解題思路:既然題目要求倆朵花不能相鄰,即兩個1不能挨著,找再能種幾朵花,先定義乙個變數count,記錄可以種花的個數,我們可以從左到右遍歷陣列,找到為0的元素判斷,它的左右是否為0,若為0這個位置就可以種花,給它賦值為1,避免下乙個元素判斷時造成干擾,同時count+1,最後只需要將count與引數n比較即可。

但這裡還有兩種特殊情況,就是當i在最左邊和最右邊的時候,最左邊時是沒有i-1的,只要滿足flowerbed[i]==0和flowerbed[i+1]==0就可以了,同樣最右邊沒有i+1,滿足flowerbed[i]==0和flowerbed[i-1]==0即可。如下圖:

**實現:

class solution 

}return count>=n;

}}

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。示...