【算法题】 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

提示:

1 <= flowerbed.length <= 2 * 104
flowerbed[i] 为 0 或 1
flowerbed 中不存在相邻的两朵花
0 <= n <= flowerbed.length

java代码:

class Solution {public boolean canPlaceFlowers(int[] flowerbed, int n) {int count = 0;int m = flowerbed.length;int prev = -1;for (int i = 0; i < m; i++) {if (flowerbed[i] == 1) {if (prev < 0) {count += i / 2;} else {count += (i - prev - 2) / 2;}prev = i;}}if (prev < 0) {count += (m + 1) / 2;} else {count += (m - prev - 1) / 2;}return count >= n;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/93160.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见编写JavaScript代码时容易出现的错误(4)

目录 前言1.未考虑性能问题&#xff08;Ignoring Performance Concerns&#xff09;错误示例解决方法 2.未处理依赖关系&#xff08;Unmanaged Dependencies&#xff09;错误示例解决方法 3.混淆的命名&#xff08;Confusing Naming&#xff09;错误示例解决方法 4.忽略跨浏览器…

PY32F003F18之RTC

一、RTC振荡器 PY32F003F18实时时钟的振荡器是内部RC振荡器&#xff0c;频率为32.768KHz。它也可以使用HSE时钟&#xff0c;不建议使用。HAL库提到LSE振荡器&#xff0c;但PY32F003F18实际上没有这个振荡器。 缺点&#xff1a;CPU掉电后&#xff0c;需要重新配置RTC&#xff…

保姆级 -- Zookeeper超详解

1. Zookeeper 是什么(了解) Zookeeper 是一个 分布式协调服务 的开源框架, 主要用来解决分布式集群中应用系统的一致性问题, 例如怎样避免同时操作同一数据造成脏读的问题. ZooKeeper 本质上是 一个分布式的小文件存储系统 . 提供基于类似于文件系统的目录树方式的数据存储, …

第二十届北京消防展即将开启,汉威科技即将精彩亮相

10月10日~13日&#xff0c;第二十届中国国际消防设备技术交流展览会&#xff0c;将在北京市顺义区中国国际展览中心新馆隆重举行。该展会由中国消防协会举办&#xff0c;是世界三大消防品牌展会之一&#xff0c;本届主题为“助力产业发展&#xff0c;服务消防救援”。届时将有4…

【Java 进阶篇】JDBC(Java Database Connectivity)详解

JDBC&#xff08;Java Database Connectivity&#xff09;是 Java 中用于连接和操作数据库的标准 API。它允许 Java 应用程序与不同类型的数据库进行交互&#xff0c;执行查询、插入、更新和删除等操作。本文将详细介绍 JDBC 的各个类及其用法&#xff0c;以帮助您更好地理解和…

【C语言经典100例题-66】(用指针解决)输入3个数a,b,c,按大小顺序输出。

代码&#xff1a; #include<stdio.h> #define _CRT_SECURE_NO_WARNINGS 1//VS编译器使用scanf函数时会报错&#xff0c;所以添加宏定义 swap(p1, p2) int* p1, * p2; {int p;p *p1;*p1 *p2;*p2 p; } int main() {int n1, n2, n3;int* pointer1, * pointer2, * point…

力扣 -- 416. 分割等和子集(01背包问题)

解题步骤&#xff1a; 参考代码&#xff1a; 未优化代码&#xff1a; class Solution { public:bool canPartition(vector<int>& nums) {int nnums.size();int sum0;for(const auto& e:nums){sume;}if(sum%21){return false;}int aimsum/2;//多开一行&#xff…

Linux系统编程基础:进程控制

文章目录 一.子进程的创建操作系统内核视角下的父子进程存在形式验证子进程对父进程数据的写时拷贝 二.进程等待进程非阻塞等待示例: 三.进程替换内核视角下的进程替换过程:综合利用进程控制系统接口实现简单的shell进程 进程控制主要分为三个方面,分别是:子进程的创建,进程等待…

private static final long serialVersionUID = 1L的作用是什么?

1.作用是什么&#xff1f; 当一个类被序列化后&#xff0c;存储在文件或通过网络传输时&#xff0c;这些序列化数据会包含该类的结构信息。当反序列化操作发生时&#xff0c;Java虚拟机会根据序列化数据中的结构信息来还原对象。 但是&#xff0c;如果在序列化之后&#xff0c…

前端两年半,CSDN创作一周年

文章目录 一、机缘巧合1.1、起因1.2、万事开头难1.3、 何以坚持&#xff1f; 二、收获三、日常四、憧憬 五、总结 一、机缘巧合 1.1、起因 最开始接触CSDN&#xff0c;还是因为同专业的同学&#xff0c;将计算机实验课的实验题&#xff0c;记录总结并发在了专业群里。后来正式…

几个推荐程序员养成的好习惯

本文框架 前言case1 不想当然case2 不为了解决问题而解决问题case3 不留问题死角case4 重视测试环节 前言 中秋国庆双节至&#xff0c;旅行or回乡探亲基本是大家的选择&#xff0c;看看风景或陪陪家人确实是个难得的机会。不过我的这次假期选择了闭关&#xff0c;不探亲&#…

【Python基础】常用模块学习:sys|os|pytest

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

c语言小课设--通讯录(动态内存管理)

前言&#xff1a; 在没学动态内存管理之前&#xff0c;我们用的结构体&#xff0c;数组等都是静态分配内存的&#xff0c;也就是说数组的长度是固定的&#xff0c;但是这并不满足我们的实际需求&#xff0c;所以在通讯录项目里面我就用到了动态内存分布。简单来说&#xff0c;…

第3章-指标体系与数据可视化-3.1.1-Matplotlib绘图库

目录 3.1 Python可视化 3.1.1 Matplotlib绘图库 1. 线图 2. 饼图 3. 条形图 4. 直方图 5.散点图

【最多提取子串数目】python实现-附ChatGPT解析

1.题目 最多提取子串数目 知识点字符串统计Q 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 给定由[a-z] 26个英文小写字母组成的字符串A和B,其中A中可能存在重复字母,B中不会存在重复字母 现从字符串A中按规则挑选一些字母,可以组成字符串B 挑选规则如下: 同一个位置…

Python|OpenCV-如何给目标图像添加边框(7)

前言 本文是该专栏的第7篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在使用opencv处理图像的时候,会不可避免的对图像的一些具体区域进行一些操作。比如说,想要给目标图像创建一个围绕图像的边框。简单的来说,就是在图片的周围再填充一个粗线框。具体效果,…

k8s-实战——kubeadm二进制编译

文章目录 源码编译获取源码修改证书有效期修改 CA 有效期为 100 年(默认为 10 年)修改证书有效期为 100 年(默认为 1 年)CentOS7.9环境准备centos脚本安装执行脚本脚本内容手动安装验证编译查看编译后的版本信息参考链接脚本修改源码编译 源码编译kubeadm文件、修改证书的默…

【FPGA项目】图像采集及显示(3)总结

前言 最基础的FPGA图像采集及显示的项目做完,这里小小的总结一下,也顺便聊聊项目中常用的一些调试手段。 一、项目重点 1.1 系统框架的理解 我们先说下数据流,接收——>缓存——>处理——>发送,可以发现很多项目都存在这么一个过程,不同的只是接口而已。而系统…

快速开发微信小程序之一登录认证

一、背景 记得11、12年的时候大家一窝蜂的开始做客户端Android、IOS开发&#xff0c;我是14年才开始做Andoird开发&#xff0c;干了两年多&#xff0c;然后18年左右微信小程序火了&#xff0c;我也做了两个小程序&#xff0c;一个是将原有牛奶公众号的功能迁移到小程序&#x…

HashMap面试题

1.hashMap底层实现 hashMap的实现我们是要分jdk 1.7及以下版本&#xff0c;jdk1.8及以上版本 jdk 1.7 实现是用数组链表 jdk1.8 实现是用数组链表红黑树&#xff0c; 链表长度大于8&#xff08;TREEIFY_THRESHOLD&#xff09;时&#xff0c;会把链表转换为红黑树&#xff0c…