605. 种花问题

简介: 605. 种花问题

605. 种花问题


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


给你一个整数数组 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


代码


跳格子法


class Solution {
public:
    bool canPlaceFlowers(vector<int>& flowerbed, int n) {
        bool flag=false;
        int size=flowerbed.size();
        for(int i=0;i<size;i+=2)
        {
            if(flowerbed[i]==0)
            {
                // 如果当前为空 并且下一个也为空(或者是最后一个)
                if(i+1==size || flowerbed[i+1]==0)
                {
                    n--;
                }else{
                    // 下一个为1  i+1  进行判定下一个循环
                    i++;
                }
            }
        }
        if(n>0)
            return false;
        else
            return true;    
    }
};


贪心法


class Solution {
    public boolean canPlaceFlowers(int[] flowerbed, int n) {
        for(int i=0; i<flowerbed.length; i++) {
          // 一条判断  当前是0 且 前一个是0 且 后一个0  并且注意边界
            if(flowerbed[i] == 0 && (i == 0 || flowerbed[i-1] == 0) && (i == flowerbed.length-1 || flowerbed[i+1] == 0)) {
                n--;
                if(n <= 0) 
                  return true;
                flowerbed[i] = 1;
            }
        }
        return n <= 0;
    }
}



相关文章
|
网络协议 数据安全/隐私保护 网络架构
IP 和 TCP 抓包分析实验
在这个实验中,网络拓扑包括两台路由器R1和R2,它们的g0/0接口分别配置IP地址1.1.1.1/24和1.1.1.2/24。实验步骤包括:在链路上开启抓包,R1向R2发送ping请求,并使用Wireshark分析抓取的ping包。接着在R2上启用FTP服务,创建用户abc,密码123456789A。R1成功连接到R2的FTP服务器,Wireshark捕获了登录时的用户名和密码信息。
139 6
|
11月前
|
SQL 安全 网络安全
Web应用防火墙(WAF)与数据库应用防火墙有什么区别?
Web应用防火墙(WAF)专注于Web应用系统和网站的应用层防护,可有效应对OWASP Top 10等常见攻击,防止SQL注入、CC攻击等。而数据库应用防火墙则位于应用服务器与数据库之间,提供数据库访问控制、攻击阻断、虚拟补丁等高级防护功能,直接保护数据库免受攻击。两者分别针对Web层和数据库层提供不同的安全保护。
198 4
|
人工智能 前端开发 JavaScript
阿里云安全类云产品,验证码使用时滑动验证流程及线上问题排查
阿里云验证码产品,使用业界先进的风控引擎结合“规则+AI”模型,有效区分真实用户和机器自动化脚本攻击,避免机器请求造成业务损失。主要适用于垃圾注册、刷库撞库,薅羊毛,短信被刷等风险场景。为您提供安全可靠的业务环境。本文为大家介绍验证码使用时滑动验证流程及验证不通过的问题排查。
65771 5
阿里云安全类云产品,验证码使用时滑动验证流程及线上问题排查
|
12月前
|
人工智能 区块链 vr&ar
元宇宙中的艺术与文化:虚拟画廊的崛起
【10月更文挑战第28天】随着科技的发展,元宇宙逐渐成为现实,为文化艺术领域带来了巨大潜力。虚拟画廊作为数字艺术的展示平台,利用3D建模、VR、AR等技术,打破物理空间限制,提供沉浸式艺术体验。观众可通过虚拟现实设备自由浏览、欣赏和互动,促进艺术传播和社交交流,未来还将结合AI和区块链等技术,进一步提升用户体验和版权保护,成为文化艺术的重要发展方向。
|
Docker 容器
Docker服务启动失败报错:Job for docker.service failed because the control process exited with error code.
Docker服务启动失败报错:Job for docker.service failed because the control process exited with error code.
|
JavaScript 前端开发 安全
推荐几个 vue后台框架
推荐几个 vue后台框架
290 0
|
存储 Linux Docker
Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo
CentOS 安装Docker时,将 Docker 官方的 YUM 存储库添加到 CentOS 系统中出现错误。
1715 0
|
Kubernetes 应用服务中间件 nginx
【k8s概念】一文搞懂k8s核心概念!!!(中)
【k8s概念】一文搞懂k8s核心概念!!!(中)
473 1
|
C++
C++解决线性代数矩阵转置 小实践
【6月更文挑战第3天】C++解决线性代数矩阵转置
231 2
|
存储 人工智能 监控
AI推理
AI推理
534 1