1.种花问题
//假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 // // 给你一个整数数组 flowerbed 表示花坛,由若干 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 <= flowerbed.length <= 2 * 104 // flowerbed[i] 为 0 或 1 // flowerbed 中不存在相邻的两朵花 // 0 <= n <= flowerbed.length
种花问题,也叫男厕问题,解决男性小便时如果相邻有人的话就会十分尴尬的问题,计算一个厕所内的小便池的使用率。这个首先需要考虑首项和尾项,然后我们再考虑中间的,中间的我们只需要设置前一个和后一个没有人使用的时候我们就能使用,使用完之后我们还需要把那一位标记成1,证明这个坑也被人占了,再计算接下来的。
public boolean canPlaceFlowers(int[] flowerbed,