2398. 预算内的最多机器人数目(24.9.13)

题目

n个机器人,给定两个下标从 0 开始的整数数组chargeTimesrunningCosts,两者长度都为(n)。第(i)个机器人充电时间为chargeTimes[i]单位时间,花费runningCosts[i]单位时间运行。另外还有一个整数budget

运行(k)个机器人总开销是max(chargeTimes) + k * sum(runningCosts),其中(\text{max(chargeTimes)})是这(k)个机器人中最大充电时间,sum(runningCosts)是这k个机器人的运行时间之和。

要求返回在不超过budget的前提下,最多可以连续运行的机器人数目。

示例 1

  • 输入:chargeTimes=[3,6,1,3,4]runningCosts =[2,1,3,4,5]budget=25
  • 输出:3。
  • 解释:可以在 budget 以内运行所有单个机器人或者连续运行 2 个机器人。选择前 3 个机器人,可以得到答案最大值 3。总开销是(\text{max(3,6,1)}+3\times\text{sum(2,1,3)} = 6 + 3\times6 = 24),小于 25。可以看出无法在 budget 以内连续运行超过 3 个机器人,所以返回 3。

示例 2

  • 输入:chargeTimes=[11,12,19]runningCosts=[10,8,7]budget=19
  • 输出:0。
  • 解释:即使运行任何一个单个机器人,还是会超出 budget,所以返回 0。

提示

  • chargeTimes.length = runningCosts.length == n
  • 1 <= n <= 5 * 10^4
  • 1 <= chargeTimes[i], runningCosts[i] <= 10^5
  • 1 <= budget <= 10^15

解题思路

见代码

代码

class Solution {
public:int maximumRobots(vector<int>& chargeTimes, vector<int>& runningCosts, long long budget) {int n=chargeTimes.size();int ans=0;long long sum=0;//用于记录sum(runningCosts)int l;deque<int> q;//利用双端队列来 保持max(chargeTimes)for(int r=0;r<n;r++){//入while(!q.empty()&&chargeTimes[q.back()]<=chargeTimes[r]){q.pop_back();}q.push_back(r);sum+=runningCosts[r];//出while(!q.empty()&&chargeTimes[q.front()]+(r-l+1)*sum>budget){if(q.front()==l){//当其等于滑动窗口的左端点时说明将会滑出窗口q.pop_front();}sum-=runningCosts[l++];//更新窗口,将左端点想右方移动,用于减少//用来保持 chargeTimes[q.front()]+(r-l+1)*sum <= budget}//更新答案ans=max(ans,r-l+1);}return ans;}
};

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

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

相关文章

大一新生以此篇开启你的算法之路

各位大一计算机萌新们&#xff0c;你们好&#xff0c;本篇博客会带领大家进行算法入门&#xff0c;给各位大一萌新答疑解惑。博客文章略长&#xff0c;可根据自己的需要观看&#xff0c;在博客中会有给大一萌新问题的解答&#xff0c;请不要错过。 入门简介&#xff1a; 算法…

可信的人类与人工智能协作:基于人类反馈和物理知识的安全自主驾驶强化学习

可信的人类与人工智能协作&#xff1a;基于人类反馈和物理知识的安全自主驾驶强化学习 Abstract 在自动驾驶领域&#xff0c;开发安全且可信赖的自动驾驶策略仍然是一项重大挑战。近年来&#xff0c;结合人类反馈的强化学习&#xff08;RLHF&#xff09;因其提升训练安全性和…

中国银河资产笔试25届考什么?如何通过考试|附真题库面试攻略

嘿&#xff0c;各位小伙伴们&#xff01;我是职小豚&#xff0c;今天就带大家一起探秘中国银河资产 25 届秋招&#xff0c;为大家揭开这场金融之旅的神秘面纱。 一、中国银河资产介绍 中国银河资产&#xff0c;那可是金融领域的璀璨巨星&#xff01;它就像一座闪耀着智慧光芒…

unity安装配置和vs2022联动教程

目录 1.选择vs2022配置 2.安装unity 2.1安装unity hub 2.2注册个人账号 2.3安装编辑器 2.4修改为简体中文 2.5添加许可证 2.6安装位置修改 3.项目的创建 3.1如何创建 3.2如何选择 3.3配置语言 3.4去哪里找语言包 4.unity编辑器窗口的介绍 4.1游戏的运行和停止 4…

日志中使用awk提取信息

订单发货-----------------express_code:ZTO-e xpress:中通速递-orderIDs:21782028-tradeNo:XD240822000089-storage:菜鸟仓&#xff08;武汉&#xff09;-nums:1 现在需要提取出 nums:后面的值用于排查问题 echo "storage:菜鸟仓&#xff08;武汉&#xff09;-nums:2&q…

11、Hive+Spark数仓环境准备

1、 Hive安装部署 1&#xff09;把hive-3.1.3.tar.gz上传到linux的/opt/software目录下 2&#xff09;解压hive-3.1.3.tar.gz到/opt/module/目录下面 [shuidihadoop102 module]$ tar -zxvf /opt/software/hive-3.1.3.tar.gz -C /opt/module/ 3&#xff09;修改hive-3.1.3-b…

《深度学习》深度学习 框架、流程解析、动态展示及推导

目录 一、深度学习 1、什么是深度学习 2、特点 3、神经网络构造 1&#xff09;单层神经元 • 推导 • 示例 2&#xff09;多层神经网络 3&#xff09;小结 4、感知器 神经网络的本质 5、多层感知器 6、动态图像示例 1&#xff09;一个神经元 相当于下列状态&…

安卓开发板_联发科MTK开发评估套件串口调试

串口调试 如果正在进行lk(little kernel ) 或内核开发&#xff0c;USB 串口适配器&#xff08; USB 转串口 TTL 适配器的简称&#xff09;对于检查系统启动日志非常有用&#xff0c;特别是在没有图形桌面显示的情况下。 1.选购适配器 常用的许多 USB 转串口的适配器&#xf…

Unstructured cannot write mode RGBA as JPEG 错误解决

Unstructured cannot write mode RGBA as JPEG 错误解决 0. 错误详细1. 解决方法 0. 错误详细 Image Extraction Error: Skipping the failed image Traceback (most recent call last):File "/root/miniconda3/envs/learn-yolo/lib/python3.11/site-packages/PIL/JpegIm…

通过nginx代理转发实现共用80和443端口

目录 项目场景&#xff1a; 问题&#xff1a;怎么实现端口共用&#xff1f; 一、域名解析到nginx服务器 二、创建vhost解析到实际的服务器 三、防火墙的配置 项目场景&#xff1a; 公司自建服务器&#xff0c;有一条专线带有公网IP&#xff0c;如何满足不同的域名解析共用…

Go语言错误处理之道:优雅地应对程序中的问题

错误处理是任何编程语言中的关键部分&#xff0c;Go语言以其独特的错误处理机制而著称。对于初学者来说&#xff0c;理解Go语言中的错误处理对于编写健壮和可靠的程序至关重要。 为什么需要错误处理 在编程中&#xff0c;错误处理是必不可少的&#xff0c;因为程序可能会遇到…

go-map系统学习

map底层结构 Goland的map的底层结构使用hash实现&#xff0c;一个hash表里有多个hash表节点&#xff0c;即bucket&#xff0c;每个bucket保存了map中的一个或者一组键值对。 map结构定义&#xff1a; runtime/map.go:hmap type hmap struct {// Note: the format of the hma…

代码随想录训练营第29天|控制变量

134. 加油站 class Solution { public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {int cur0, total0, start0;for(int i0; i<gas.size(); i){curgas[i]-cost[i];totalgas[i]-cost[i];if(cur<0){starti1;cur0;}}if(start>gas…

pdf 转 jpg

该方法是 pdf 的每一页&#xff0c;分别生成一个 jpg 文件 例&#xff1a;pdf 有6页 生成jpg> 6个jpg文件&#xff0c;分别对应pdf的各页面 依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><versi…

win10 安装多个版本的python

1&#xff0c;安装python3.9 和python3.10 2, 安装完之后分别打开两个版本的Python的安装目录&#xff08;第一层目录&#xff09;&#xff0c;把pythonw.exe分别重命名为pythonw_39.exe和pythonw_310.exe&#xff0c;把python.exe复制一份&#xff0c;并分别重命名为python_…

【C++】_stack和_queue容器适配器、_deque

当别人都在关注你飞的有多高的时候&#xff0c;只有父母在关心你飞的累不累。&#x1f493;&#x1f493;&#x1f493; 目录 ✨说在前面 &#x1f34b;知识点一&#xff1a;stack •&#x1f330;1.stack介绍 •&#x1f330;2.stack的基本操作 &#x1f34b;知识点二&…

吃饭时偶遇领导,该不该抢着买单?高情商的人用这三招受重用

生活中&#xff0c;我们出去吃饭&#xff0c;偶然间遇到什么人都不足为奇&#xff0c;可能是当红明星&#xff0c;可能是故友&#xff0c;也可能是我们的领导。特别是当我们在用餐时偶遇领导&#xff0c;如何处理这一突如其来的“邂逅”&#xff0c;成为了考验职场情商的重要一…

怎么利用XML发送物流快递通知短信

现如今短信平台越来越普遍了&#xff0c;而短信通知也分很多种&#xff0c;例如服务通知、订单通知、交易短信通知、会议通知等。而短信平台在物流行业通知这一块作用也很大。在家时:我们平时快递到了&#xff0c;如果电话联系不到本人&#xff0c;就会放到代收点&#xff0c;然…

Jenkins 执行 shell 时报错 Host key verification failed.

1. 问题描述 在 jenkins 中执行下面的 shell 语句时 sshpass -p "123456" scp -r * dep192.168.1.100:/home/dep/Desktop/报错 Host key verification failed.可能原因是由于首次登录时需要输入 yes 导致无法连接成功。 The authenticity of host 192.168.1.100…

中医笔记目录

目录 &#x1f315;中医基础&#x1f319;阴阳&#xff0c;五行&#xff0c;六气&#xff0c;天干地支&#xff0c;子午流注&#x1f319;十四经脉&#x1f319;中医要背的内容 &#x1f315;艾灸&#x1f315;方解&#x1f315;脉诊&#x1f315;医案&#x1f319;我的医案笔记…