种花问题算法

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

给你一个整数数组 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;
    }
}
相关推荐
小星星闪亮登场6 小时前
2026河南萌新联赛第四场--南阳理工学院
数据结构·算法·贪心算法·动态规划·哈希算法·广度优先
土司大王6 小时前
LeetCode hot100——两数之和
数据结构·算法·leetcode
luj_17687 小时前
大航海时代:沉浸式财商实战沙盒
c语言·开发语言·网络·经验分享·算法
Navigator_Z7 小时前
LeetCode //C - 1200. Minimum Absolute Difference
c语言·算法·leetcode
赵广陆7 小时前
企业实战:Markdown图片检索
android·java·开发语言
C++、Java和Python的菜鸟7 小时前
第3章 从0开始用若依
java·开发语言
wabs6667 小时前
关于字符串【力扣344.反转字符串的思考】
数据结构·算法·leetcode
LuminousCPP7 小时前
数据结构基础篇(二):顺序表与链表全方位对比|从内存布局到 CPU 缓存理解底层差异
c语言·数据结构·经验分享·链表·缓存
Json____8 小时前
五金制品行业-企业官网源码
java·大数据·数据库·企业站·wwwoop.com
有点。8 小时前
C++二叉树(一)
开发语言·数据结构·c++