种花问题算法

假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。

给你一个整数数组 flowerbed 表示花坛,由若干 01 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n,能否在不打破种植规则的情况下种入 n朵花?能则返回 true ,不能则返回 false

复制代码
输入:flowerbed = [1,0,0,0,1], n = 1
输出:true
java 复制代码
class Solution {
    public boolean canPlaceFlowers(int[] flowerbed, int n) {
        int[] a=new int[flowerbed.length+2];
        System.arraycopy(flowerbed,0,a,1,flowerbed.length);
        for(int i=1;i<=flowerbed.length;i++){
            if(a[i-1]==0&&a[i]==0&&a[i+1]==0){
                a[i]=1;
                n--;
            }
        }
        return n<=0;
    }
}
相关推荐
qq_334060216 分钟前
springmvc
java·spring·mvc
小陈phd12 分钟前
langchain从入门到精通(七)——利用回调功能调试链应用 - 让过程更透明
android·java·langchain
谷雨不太卷14 分钟前
AVL树的实现
数据结构·c++·算法
风象南20 分钟前
SpringBoot的4种Bean注入冲突解决方案
java·spring boot·后端
大熊猫侯佩43 分钟前
Swift 初学者交心:在 Array 和 Set 之间我们该如何抉择?
数据结构·性能优化·swift
缘友一世1 小时前
java设计模式[2]之创建型模式
java·开发语言·设计模式
晴空月明1 小时前
JIT 编译优化原理深度解析
java
hmb↑1 小时前
mvnd-快速打包maven项目
java·maven
迢迢星万里灬1 小时前
Java求职者面试题解析:Spring、Spring Boot、MyBatis框架与源码原理
java·spring boot·spring·mybatis·面试题
BAGAE1 小时前
使用 Flutter 在 Windows 平台开发 Android 应用
android·大数据·数据结构·windows·python·flutter