2026-10-12:处理所有元素的成本。用go语言,给定一个整数序列 nums 和一个固定整数 k。你一开始拥有 k 点资源,需要按照从左到右的顺序逐个处理 nums 中的元素。处理某个元素时,会消
2026-10-12处理所有元素的成本。用go语言给定一个整数序列 nums 和一个固定整数 k。你一开始拥有 k 点资源需要按照从左到右的顺序逐个处理 nums 中的元素。处理某个元素时会消耗等于该元素数值的资源。如果在处理当前元素前剩余资源不足以支付它的消耗你可以进行一次补充资源增加 k。第一次补充的代价是 1第二次补充的代价是 2之后每次补充的代价依次递增。也就是说第 m 次补充需要花费 m。只要资源还不够就可以继续补充直到足以处理当前元素。当前元素处理完成后从资源中扣除 nums[i]。目标是在全部元素处理完毕后让所有补充操作的总代价尽可能小。如果最终的最小总代价很大只需返回它对 1,000,000,007 取模后的结果。1 nums.length 100000。1 nums[i] 1000000000。1 k 1000000000。输入 nums [1,2,3,4], k 4。输出 3。解释处理完 nums[0] 后剩余资源为 4 - 1 3。处理完 nums[1] 后剩余资源为 3 - 2 1。由于 nums[2] 3而当前只有 1 单位资源因此执行第一次操作成本为 1。处理完 nums[2] 后剩余资源为 1 4 - 3 2。由于 nums[3] 4而当前只有 2 单位资源因此执行第二次操作成本为 2。此时资源增加到 2 4 6足以处理 nums[3]。因此总成本为 1 2 3。题目来自力扣3987。大体步骤如下第一步统计所有元素的总消耗。从左到右遍历整个 nums 数组把每个元素的值累加起来得到一个总和 total。这个总和表示处理完所有元素一共需要消耗多少资源。因为每个元素都必须被处理所以无论处理顺序如何总消耗量是固定的就是数组所有元素之和。第二步计算最少需要补充多少次。一开始拥有 k 点资源。每次补充都会让资源增加 k 点。假设一共补充了 m 次那么总资源量就是初始的 k 加上补充增加的 m 乘以 k也就是 (m 1) 乘以 k。为了让所有元素都能被处理完总资源量必须至少等于总消耗 total。因此需要满足(m 1) * k total变形后得到m total / k - 1因为 m 必须是整数所以最小的补充次数 m 是 ceil(total / k) - 1。这个值也可以用整数除法写成 (total - 1) // k。当 total 小于等于 k 时这个结果为 0表示不需要补充。代码中正是用 total 减 1 再除以 k 来得到补充次数。第三步计算补充操作的总代价。如果一共补充了 m 次那么代价分别是 1、2、3、……、m。总代价就是 1 到 m 的等差数列之和公式为 m * (m 1) / 2。这个和就是处理所有元素所需的最小总成本。因为补充次数 m 只取决于总消耗 total 和固定值 k与具体在哪个元素处补充无关所以这样直接计算是正确的。第四步对结果取模。由于 total 和 m 可能非常大最终总代价也会很大题目要求返回对 1,000,000,007 取模后的结果。代码中先计算 m 并对 1,000,000,007 取模得到 sum然后计算 sum * (sum 1) / 2 再对 1,000,000,007 取模。这样可以在保证结果正确的前提下避免数值过大。以题目给出的例子说明nums [1, 2, 3, 4]k 4。所有元素总和 total 1 2 3 4 10。补充次数 m (10 - 1) // 4 9 // 4 2。总代价 2 * (2 1) / 2 3。所以输出为 3。整个算法只遍历数组一次来计算总和然后进行几次常数时间的算术运算和取模。因此总的时间复杂度是 O(n)其中 n 是数组 nums 的长度。额外空间复杂度是 O(1)因为只使用了几个固定数量的变量没有开辟与输入规模相关的额外空间。Go完整代码如下packagemainimport(fmt)funcminimumCost(nums[]int,kint)int{constmod1_000_000_007total:0for_,x:rangenums{totalx}sum:(total-1)/k%modreturnsum*(sum1)/2%mod}funcmain(){nums:[]int{1,2,3,4}k:4result:minimumCost(nums,k)fmt.Println(result)}Python完整代码如下# -*-coding:utf-8-*-defminimumCost(nums,k):MOD1_000_000_007totalsum(nums)s(total-1)//k%MODreturns*(s1)//2%MODif__name____main__:nums[1,2,3,4]k4resultminimumCost(nums,k)print(result)C完整代码如下#includeiostream#includevectorusingnamespacestd;constlonglongMOD1000000007LL;intminimumCost(vectorintnums,intk){longlongtotal0;for(intx:nums){totalx;}longlongsum(total-1)/k%MOD;return(int)(sum*(sum1)/2%MOD);}intmain(){vectorintnums{1,2,3,4};intk4;intresultminimumCost(nums,k);coutresultendl;return0;}

相关新闻

股债汇金四杀:买得分散,为什么还会一起亏?

股债汇金四杀:买得分散,为什么还会一起亏?

**分散买了股票、债券、美元和黄金,不等于分散了“急着用钱”的风险。**市场平静时,它们讲的是不同故事;资金紧张时,它们可能面对同一个问题:持有人必须把资产变成现金。 最近“股债汇金四杀”的说法很吓人。但对一个…

2026/10/13 3:21:48 阅读更多 →
就业指南|分析了近百份简历后,我决定写一篇就业指南

就业指南|分析了近百份简历后,我决定写一篇就业指南

本篇文章共 10000字,完全阅读全篇约10分钟 州弟学安全,只学有用的知识 前言 大家好,我是州弟。 大家还记得我上一篇文章吗?网安面试|记2026年8月国内某情报安全厂商面试的一次经历 ,当时分享了我主动投递并完整体验…

2026/10/13 3:21:48 阅读更多 →
[Java] 常用工具类

[Java] 常用工具类

日期相关类Date 类java.util.Date:Java 早期的日期时间类,精确到毫秒,用来表示一个特定的时刻常用成员方法可用方法:1)boolean after(Date when):判断当前日期是否在指定日期之后2)boolean befo…

2026/10/13 3:21:48 阅读更多 →

最新新闻

Flask实战:从零搭建在线教育平台的核心实现与避坑指南

Flask实战:从零搭建在线教育平台的核心实现与避坑指南

去年做模拟项目X的时候,接了一个比较完整的活儿:从零搭一个python网络课程在线学习平台。这类项目听起来好像就是“课程列表视频播放”,但真正动手才发现,一个能被老师真正拿去用、学生愿意天天打开的平台,背后牵扯的模…

2026/10/13 4:06:00 阅读更多 →
工业条码打印机与云标签平台协同:标签模板、权限与数据对接的落地实践

工业条码打印机与云标签平台协同:标签模板、权限与数据对接的落地实践

很多人以为标签打印就是把标签纸塞进打印机,点一下打印就完事。真在企业里跑过一轮就明白,事情远没有这么简单:仓库要资产标签、生产线上要料号标签、电商发货要面单和合格证、行政固定资产要贴标……每套标签格式不一样,模板分散…

2026/10/13 4:06:00 阅读更多 →
热电堆太阳总辐射传感器:原理、选型与安装维护全解析

热电堆太阳总辐射传感器:原理、选型与安装维护全解析

聊到太阳总辐射测量,很多人第一反应是“用一个太阳能电池板读数不就行了”。这个想法听起来合理,但在气象观测、光伏电站评估和建筑节能计算这些正儿八经的场合,真正扛大梁的是一支乳白色圆顶的小传感器——热电堆太阳总辐射传感器。它输出只…

2026/10/13 4:06:00 阅读更多 →
Python实现共享单车管理系统:预约调度与路径规划实战

Python实现共享单车管理系统:预约调度与路径规划实战

共享单车管理系统,听起来就是个普通的企业级CRUD项目,但我做完这个项目之后最大的感受是:真正把“预约、报修、调度、线路规划”四个功能串起来做好,远没有表面上那么简单。它的复杂度不在于某个算法有多深,而在于业务…

2026/10/13 4:06:00 阅读更多 →
Linux下Oracle开机自启配置:systemd方案与避坑指南

Linux下Oracle开机自启配置:systemd方案与避坑指南

1. 开机自启这件事,为什么手动能跑通、重启就失效但凡在生产环境部署过Oracle数据库的人,几乎都经历过这个场景:数据库装好了,监听配好了,sqlplus / as sysdba能正常登录,业务跑得也挺稳。结果机房那边通知…

2026/10/13 4:06:00 阅读更多 →
外部AI服务封装为编码助手Skill:网关调度与配额缓存实战

外部AI服务封装为编码助手Skill:网关调度与配额缓存实战

在进行这类封装之前,我建议你先想清楚一个问题:为什么要费力气把一个外部AI服务变成本地编码工具的Skill?单纯为了好看肯定不值得,真正驱动这件事的痛点,大概率是配额不够用、调用不够顺、或者团队里多人共用一套能力时…

2026/10/13 4:04:59 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →