前往
大廳
主題

LeetCode - 605. Can Place Flowers 解題心得

Not In My Back Yard | 2020-12-05 00:00:04 | 巴幣 0 | 人氣 239

題目連結:


題目意譯:
假設你有一個很長的花壇,其中有幾塊土已經有種東西,其他則沒有。不過,花們不能種在相鄰的土塊——它們會彼此爭奪水資源因此都會死。

給定一個花壇(以一個包含 0 和 1 的陣列表示,其中 0 代表該塊土為空、 1 代表不為空),以及一個整數 n,回傳 n 株新的花可否種到花壇裡並且保持著「花不相鄰」之規則。

注:
輸入陣列不會違反「花不相鄰」這個規則。
輸入陣列之大小位於 [1, 20000] 這範圍中。
n 為一非負整數且不超過陣列之大小。



範例測資:
範例 1:
輸入: flowerbed = [1,0,0,0,1] 、 n = 1
輸出: True

範例 2:
輸入: flowerbed = [1,0,0,0,1] 、 n = 2
輸出: False


解題思維:
掃過花壇,對於每個空的土塊判斷前一塊以及後一塊有沒有種東西。如果都沒有就把一株花種在這裡。

全部掃過之後,如果有種下超過 n 株花即可,因此回傳真(True);反之則不可能種 n 株花,因此回傳假(False)。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作