Leetcode_1482.制作m束花所需的最少天数

【LeetCode】第1482题——制作 m 束花所需的最少天数(难度:中等) 【LeetCode】第1482题——制作 m 束花所需的最少天数(难度:中等)题目描述解题思路代码详解注意点 题目描述 给你一个整数数组 bloomDay,以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。 请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。 示例 1: 输入:bloomDay = [1,10,3,10 阅读详情

给你一个整数数组 bloomDay,以及两个整数 m 和 k 。
现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。
花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。
请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。

原题地址:制作m束花所需的最少天数

  • 我的错误题解:
/*
 * 来思路了来思路了我的宝贝!!
 * 我由于 m * k 是所有需要的数量,这里我可以求“补集”
 * 即躲避除了 m * k 个数字外的数字都要是“倒数第几大的数字”
 * 即“bloomDay.size() - m * k”,这些倒数的全部给置为负数
 * 最后再在正数中排序,找到最大值,即为答案。
 * 我的思路错了,因为没有考虑并列的情况,可以暴力求解的。可是暴力毕竟是暴力。
 * 看一看大神的二分法和如何判断能不能进行切割吧!
 * */
/*----------------------------------------------------------------------------------------------------------------*/
int minDays(vector<int>& bloomDay, int m, int k) {
    int findmax = 0;
    vector<int>ghost = bloomDay;

    if ( (m * k) > bloomDay.size() ){//排除情况
        return -1;
    } else{
        int remain = bloomDay.size() - m * k;
        sort(ghost.begin(),ghost.end());
        /*对影子容器内元素从大到小排序,因为要叁束连着的,不能排序了*/
        for (int i = 0; i < remain; ++i) {
            for (int j = 0; j < bloomDay.size(); ++j) {
                if (bloomDay[j] == ghost[ghost.size()-1-i]){
                    bloomDay[j] = -1;
                }
            }
        }
        for (int i = 0; i < bloomDay.size(); ++i) {
            if (bloomDay[i] > 0 && findmax < bloomDay[i]){
                findmax = bloomDay[i];
            }
        }
    }
    return findmax;
}
/*----------------------------------------------------------------------------------------------------------------*/
  • 二分标准题解
/*----------------------------------------------------------------------------------------------------------------*/
class Solution {//官方二分题解,体会解题过程
public:
    int minDays(vector<int>& bloomDay, int m, int k) {
        if (m > bloomDay.size() / k) {
            return -1;
        }//去除特殊情况
        int low = INT_MAX, high = 0;
        int length = bloomDay.size();
        for (int i = 0; i < length; i++) {
            low = min(low, bloomDay[i]);
            high = max(high, bloomDay[i]);
        }//得到二分前置最大最小值,即初始化双指针
        while (low < high) {//左闭右开
            int days = (high - low) / 2 + low;         //days和mid有那味道了
            if (canMake(bloomDay, days, m, k)) {       //即可以进行分块
                high = days;   //右指针换位
            } else {
                low = days + 1;//左指针右移
            }
        }//经典二分,感觉好想滑动窗口,不过右界伴随着瞬变
        return low;
    }

    bool canMake(vector<int>& bloomDay, int days, int m, int k) {
        int bouquets = 0;
        int flowers = 0;
        int length = bloomDay.size();
        for (int i = 0; i < length && bouquets < m; i++) {
            if (bloomDay[i] <= days) {//只有当开花的日期在days范围内才能开花,否则初始
                flowers++;
                if (flowers == k) {//够一个花束
                    bouquets++;    //已有花束数量自增
                    flowers = 0;   //当前花束的花数初始化
                }
            } else {
                flowers = 0;//days不够花旗,初始化
            }
        }
        return bouquets >= m;//只有拥有花束 >= 目标花束才能true
    }
};

//作者:LeetCode-Solution
/*----------------------------------------------------------------------------------------------------------------*/

二分法,永远的神,简单的数据结构都给爷儿二分!
二分的爷儿,就是爷儿!

【OpenClaw从入门到精通】第73篇:30天OpenClaw实战挑战——从零搭建个人数字助理(Day15-21)万字超详细高阶实战版 经过前两周的基础部署与功能搭建,你已拥有可自动化干活的AI助理与数字员工团队,但距离“高阶精通”仍有差距。本文聚焦第三周(Day15-21)核心实战,围绕安全审计、语音能力接入、Token成本控制、Agent Loop优化、One-Liner指令五大核心模块,结合真实落地案例与踩坑经验,提供超详细实操指南。通过本文,你将掌握生产级安全加固方案、语音交互全流程配置、低成本高性价比使用策略、Agent自主闭环优化技巧,以及一句话搞定复杂任务的高效指令用法,同时完成中期复盘与最后九天冲刺规划 阅读详情

相关推荐

AI Agent技能评测框架SkillsBench:从黑盒评估到白盒技能拆解

在人工智能领域,模型评估是衡量技术进展的核心环节。传统评测基准如GLUE、MMLU主要关注模型的通用认知能力,但实际工程应用中,AI Agent需要的是在复杂场景中协调多种能力的“职业技能”。SkillsBench创新性地将Agent能力进行原子化拆解,定义了理解规划、工具调用、推理决策、交互安全等技能维度,并通过领域专家构建的评测集确保生态效度。这一框架为Agent开发提供了精准的“度量衡”,使性能优化从经验驱动转向数据驱动,同时为不同模型和框架提供了公平比较的基础,推动了AI Agent生态从“野蛮生长

weixin_30530339的博客 388

leetcode:求减到0的最少次数

You are given an interger array nums and an integer x.In one operation,you can either remove the leftmost or the rightmost element from the array nums and subtract its value from x.Note that this modifies the array for tuture operations. Return the mini.

Jiangtagong的博客 482

MCU中GPIO口的驱动方式

MCU中GPIO口的驱动方式 导读: MCU芯片中GPIO口的驱动方式大的可分为输出和输入两类,小的分可以分为8种。 一、四种输入方式 ①上拉输入: 上拉输入抗干扰能力强,特别适合接地信号的输入(比如低电平有效的按键信号输入)。其工作原理如图1所示。 I/O 端口与TTL 施密特触发器之前接入了一个30K~50K 欧姆的上拉电阻,当I/O 端口悬空时,此时MCU 也能读到稳定的高电平状态,...

优快云Frewen的博客 3372

leetcode1482. 制作 m 束花所需的最少天数-medium

输入:bloomDay = [1,10,2,9,3,8,4,7,5,6], m = 4, k = 2。输入:bloomDay = [7,7,7,7,12,7,7], m = 2, k = 3。输入:bloomDay = [1,10,3,10,2], m = 3, k = 1。输入:bloomDay = [1,10,3,10,2], m = 3, k = 2。12 天后:[x, x, x, x, x, x, x]7 天后:[x, x, x, x, _, x, x]解释:要制作 2 束花,每束需要 3 朵。

weixin_37253733的博客 720

TransUnet官方代码训练自己数据集(彩色RGB3通道图像的分割)

官方代码:https://github.com/Beckschen/TransUNet 目的:训练5个类别的汽车部件分割任务(测试在另一篇博客中) 实现效果: 1. github下载代码,并解压。 项目里的文件可能跟你下载的不一样,不急后面会讲到! 2. 配置数据集(尽最大努力还原官方数据集的格式)。 通常自己手上的数据集分images和labels文件夹,分别存放着原始图像和对应的mask图像,如下图所示; mask图像中的像素有0,1,2,3,4 分别代表背景,车身,轮子,车灯,窗户,一共五个

qq_37652891的博客 5万+

powerdesigner导出sql将name放到comment注释上

【代码】powerdesigner导出sql将name放到comment注释上。

weixin_45947759的博客 1351

LeetCode 1482. 制作 m 束花所需的最少天数

LeetCode 1482. 制作 m 束花所需的最少天数

Danny 1180

超详细的Burp Suite安装使用

‌Burp Suite是一个强大的Web应用安全测试工具,适用于网络安全专业人士进行自动化网络应用程序的安全测试。‌ 它提供了在Windows和Kali Linux上安装和激活Burp Suite Professional的简便步骤,帮助用户快速集成并启用强大的网络扫描和渗透测试功能。Burp Suite的特点包括易于安装、良好的兼容性、内置的自动化工具、优秀的用户体验以及详细的教程,使得无论是安全领域的新手还是经验丰富的专家,都能轻松上手并高效地进行安全测试。此外,Burp Suite还支持扩展功能的使用

Dreams°的博客 2640

LeetCode 1482. 制作 m 束花所需的最少天数——呱呱的每日一题

leetcode 1482. 制作 m 束花所需的最少天数一、题目题目链接题面数据范围样例二、思路看数据猜算法算法实现思路三、代码 一、题目 题目链接 1482. 制作 m 束花所需的最少天数. 题面 给你一个整数数组 bloomDay,以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。 请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束

concyclics的博客 3万+

番外篇第3集:多模态运维!让 AI 看懂 Grafana 图表并自动生成巡检报告

文章摘要 《多模态运维:让AI看懂Grafana图表并自动生成巡检报告》介绍了如何利用Qwen2.5-VL多模态模型解决传统运维巡检的痛点。文章指出人工查看Grafana监控图表存在效率低、易漏判、报告编写耗时等问题,提出通过Grafana Render API和多模态AI技术实现自动化巡检方案。 主要内容包括: 环境准备:配置Qwen2.5-VL多模态模型和Grafana访问权限 测试验证:展示模型准确识别图表类型、指标数值和异常趋势的能力 技术实现:封装Grafana截图API客户端,支持面板截图和数据

qq_2937655951的博客 108

别再盯着那 100 条数据了,RAP OData 分页机制到底在保护什么

摘要: SAP BTP ABAP Environment 的 OData 服务默认采用分页保护机制,未指定 $top 时仅返回100条数据并附带下一页链接。这种设计旨在防止资源滥用,而非服务故障。客户端应遵循OData协议规范,直接使用服务端返回的 next link 进行分页请求,而非自行构造URL。当指定 $top 参数时,若数值超过5000仍会被强制分页。该机制在SAPUI5控件中被自动处理,但自定义客户端需主动实现分页逻辑。对于自定义实体(Custom Entity),开发者需在Query Prov

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 858

【LeetCode每日一题】1482. 制作 m 束花所需的最少天数

【LeetCode每日一题】1482. 制作 m 束花所需的最少天数今日相关题目1482.制作 m 束花所需的最少天数1011.在 D 天内送达包裹的能力1482. 制作 m 束花所需的最...

Francis的博客 318

【图像去噪(Image Denoising)】关于【图像去噪】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总(更新中)

你是否在全网苦寻【图像去噪(ImageDenoising)】的相关资料?你的目标是否是看懂【图像去噪(ImageDenoising)】的相关论文,复现代码,跑出结果,并试图创新?你是否需要发表【图像去噪(ImageDenoising)】的相关论文毕业?你是否需要做【图像去噪(ImageDenoising)】的相关项目,开发软件,研究算法,获得专利或者软著?只要是与【图像去噪(ImageDenoising)】有关的问题,那么请继续往下看。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 2万+

leetcode 1482.制作m束花所需的最少天数

原题 1482.制作m束花所需的最少天数 题解 判断某一天的时候是否能够完成花束的采摘很容易,主要就是能否快速找到符合要求的最小的那一天。 方法一 我们可以把开花的天数都存起来,行程一个数组(无重复),并排序。从头开始判断每一天是否可以完成花束收集,返回第一个符合要求的天数。 遗憾的是,本思路超时。 代码示例: class Solution { public int minDays(int[] bloomDay, int m, int k) { List<Integer&gt

zhuruihe2014的博客 307

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

leetcode1482. 制作 m 束花所需的最少天数(Python3)

leetcode1482. 制作 m 束花所需的最少天数 给你一个整数数组 bloomDay,以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。 请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。 示例 1: 输入:bloomDay = [1,10,3,10,2], m = 3, k = 1 输出:3 解释:让我们一起观察

weixin_43422466的博客 357

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

力扣 1482. 制作 m 束花所需的最少天数

给你一个整数数组 bloomDay,以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。 请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。 示例 1: 输入:bloomDay = [1,10,3,10,2], m = 3, k = 1 输出:3 解释:让我们一起观察这三天的花开过程,x 表示花开,而 _ 表示花还未开。 现

yangzijiangtou 220

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

leetcode 1482. 制作 m 束花所需的最少天数

leetcode 1482. 制作 m 束花所需的最少天数。

qq_62172019的博客 375

Leetcode 1482 制作 m 束花所需的最少天数

题目链接 题目链接 给你一个整数数组 bloomDaybloomDaybloomDay,以及两个整数 mmm 和 kkk 。 现需要制作 mmm 束花。制作花束时,需要使用花园中 相邻的 kkk 朵花 花园中有 nnn 朵花,第 iii 朵花会在 bloomDay[i]bloomDay[i]bloomDay[i] 时盛开,恰好可以用于 一束花中。 请你返回从花园中摘 mmm 束花需要等待的最少的天数。如果不能摘到 mmm 束花则返回 -1 。 示例 1 输入:bloomDay = [1,10,3,10,2]

249

LeetCode 1482. 制作 m 束花所需的最少天数(二分查找)

1. 题目 给你一个整数数组 bloomDay,以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。 请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。 示例 1: 输入:bloomDay = [1,10,3,10,2], m = 3, k = 1 输出:3 解释:让我们一起观察这三天的花开过程,x 表示花开,而 _ 表示花

Michael是个半路程序员 1599

LeetCode:1482. 制作 m 束花所需的最少天数————中等

目录题目解题思路Code运行结果 题目 1482. 制作 m 束花所需的最少天数 给你一个整数数组 bloomDay,以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。 请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。 示例 1: 输入:bloomDay = [1,10,3,10,2], m = 3, k = 1 输出:

Kinght_123的博客 510

Leetcode 1482. 制作m束花所需的最少天数【二分法】

文章目录问题描述解题报告实现代码参考资料 问题描述 给你一个整数数组 bloomDay,以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。 请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。 示例 1: 输入:bloomDay = [1,10,3,10,2], m = 3, k = 1 输出:3 解释:让我们一起观察这三天

MD 289

LeetCode题目:1482. 制作 m 束花所需的最少天数

题目描述 给你一个整数数组 bloomDay,以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。 请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。 示例 1: 输入:bloomDay = [1,10,3,10,2], m = 3, k = 1 输出:3 解释:让我们一起观察这三天的花开过程,x 表示花开,而 _ 表示花还

uhlgjd的博客 296

【二分查找】leetcode 1482. 制作 m 束花所需的最少天数

使用二分查找来计算制作 m 束花所需的最少天数。

lele_ne的博客 231

我用java刷 leetcode 1482. 制作 m 束花所需的最少天数

这里有leetcode题集分类整理!!! 题目难度:中等 题目描述: 给你一个整数数组 bloomDay,以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。 请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。 示例 1: 输入:bloomDay = [1,10,3,10,2], m = 3, k = 1 输出:3 解释:让

e935052319的博客 208
上一篇: Leetcode_1720. 解码异或后的数组
下一篇: Leetcode_1482.制作m束花所需的最少天数————————晚上睡觉都会想的二分题
Neepu_G.job
博客等级 码龄8年 7粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值