华为OD机试新系统真题 【查找最佳充电策略】

发布时间:2026/8/10 13:07:07

华为OD机试新系统真题 【查找最佳充电策略】
查找最佳充电策略(C/C/Js/Java/Py/Go)题解华为OD机试新系统真题 华为OD上机考试新系统真题 8月9号 100分题型华为OD机试新系统真题目录点击查看: 华为OD机试新系统真题题库目录机考题库 算法考点详解题目内容给定一个一维数组p r i c e A r r a y priceArraypriceArray表示未来p r i c e R e c o r d s priceRecordspriceRecords小时内每小时的电价单位分/kWh。找出充电成本最低的连续h o u r s hourshours个小时时间段的开始时刻点。若存在多种成本最低方案优先返回最低成本方案的最早的时刻点。输入描述参数1 11整数p r i c e R e c o r d s priceRecordspriceRecords表示电价记录数量参数2 22整数h o u r s hourshours表示连续小时数参数3 33一维数组p r i c e A r r a y priceArraypriceArray表示每小时的电价p r i c e 1 ∼ p r i c e N price1 \sim priceNprice1∼priceN以空格分隔约束条件1 ⩽ p r i c e R e c o r d s ⩽ 24 1 \leqslant priceRecords \leqslant 241⩽priceRecords⩽241 ⩽ h o u r s ⩽ p r i c e R e c o r d s 1 \leqslant hours \leqslant priceRecords1⩽hours⩽priceRecords1 ⩽ p r i c e 1 ∼ p r i c e N ⩽ 100 1 \leqslant price1 \sim priceN \leqslant 1001⩽price1∼priceN⩽100输出描述返回一个整数表示最优充电时段的起始索引从0 00开始。样例1输入12 3 25 15 20 18 12 25 30 28 22 16 14 35输出2说明连续时间段为3 33从0 00时刻开始分段计算最小总成本0 00为起始索引时 总费用25 15 20 60 25152060251520601 11为起始索引时 总费用15 20 18 53 15201853152018532 22为起始索引时 总费用20 18 12 50 20181250201812503 33为起始索引时 总费用18 12 25 55 18122555181225554 44为起始索引时 总费用12 25 30 67 12253067122530675 55为起始索引时 总费用25 30 28 83 25302883253028836 66为起始索引时 总费用30 28 22 80 30282280302822807 77为起始索引时 总费用28 22 16 66 28221666282216668 88为起始索引时 总费用22 16 14 52 22161452221614529 99为起始索引时 总费用16 14 35 65 1614356516143565连续3 33小时的最低电价时段是索引2 - 4 2\text{-}42-4价格分别为20 , 18 , 12 20, 18, 1220,18,12总费用 20 18 12 50 2018125020181250分最低因此充电最低时间起始索引为2 22样例2输入12 4 23 35 67 68 89 12 24 37 57 10 12 45输出7说明连续时间段为4 44从0 00时刻开始分段计算最小总成本0 00为起始索引时 总费用23 35 67 68 193 23356768193233567681931 11为起始索引时 总费用35 67 68 89 259 35676889259356768892592 22为起始索引时 总费用67 68 89 12 236 67688912236676889122363 33为起始索引时 总费用68 89 12 24 193 68891224193688912241934 44为起始索引时 总费用89 12 24 37 162 89122437162891224371625 55为起始索引时 总费用12 24 37 57 130 12243757130122437571306 66为起始索引时 总费用24 37 57 10 128 24375710128243757101287 77为起始索引时 总费用37 57 10 12 116 37571012116375710121168 88为起始索引时 总费用57 10 12 45 124 5710124512457101245124连续4 44小时的最低电价时段是索引7 - 10 7\text{-}107-10价格分别为37 , 57 , 10 , 12 37, 57, 10, 1237,57,10,12总费用 37 57 10 12 116 3757101211637571012116分最低因此充电最低时间起始索引为7 77题解思路滑动窗口固定滑动窗口模板题使用sum记录窗口内价格总和使用minSum记录出现的最小窗口总和使用res记录最小窗口总和对应起始下标。窗口右边界不断右移进行sum prices[right],根据情况进行如下处理没有达到要求hours长度不进行处理首次形成hours长度时更新minSum sum并且res 0后续窗口移动时删除窗口左边离开的元素并将sum 和 minSum进行对比尝试更新minSum 和 res。当right n结束返回res即可。c#includebits/stdc.h#includevectorusingnamespacestd;intsolve(intpriceRecords,inthours,vectorintprices){intres0;intminSumINT_MAX;intsum0;// 滑动窗口for(intright0;rightpriceRecords;right){sumprices[right];if(righthours-1){continue;}if(righthours-1){res0;minSumsum;continue;}sum-prices[right-hours];if(summinSum){minSumsum;resright-hours1;}}returnres;}intmain(){intpriceRecords;inthours;cinpriceRecords;cinhours;vectorintprice(priceRecords);for(inti0;ipriceRecords;i){cinprice[i];}coutsolve(priceRecords,hours,price);return0;}Javaimportjava.util.*;publicclassMain{staticintsolve(intpriceRecords,inthours,int[]prices){intres0;intminSumInteger.MAX_VALUE;intsum0;// 滑动窗口for(intright0;rightpriceRecords;right){sumprices[right];if(righthours-1){continue;}if(righthours-1){res0;minSumsum;continue;}sum-prices[right-hours];if(summinSum){minSumsum;resright-hours1;}}returnres;}publicstaticvoidmain(String[]args){ScannerscnewScanner(System.in);intpriceRecordssc.nextInt();inthourssc.nextInt();int[]pricenewint[priceRecords];for(inti0;ipriceRecords;i){price[i]sc.nextInt();}System.out.print(solve(priceRecords,hours,price));sc.close();}}Pythonimportsysdefsolve(priceRecords,hours,prices):res0minSumfloat(inf)sum0# 滑动窗口forrightinrange(priceRecords):sumprices[right]ifrighthours-1:continueifrighthours-1:res0minSumsumcontinuesum-prices[right-hours]ifsumminSum:minSumsumresright-hours1returnres priceRecordsint(sys.stdin.readline())hoursint(sys.stdin.readline())priceslist(map(int,sys.stdin.readline().split()))print(solve(priceRecords,hours,prices))JavaScriptconstreadlinerequire(readline);constrlreadline.createInterface({input:process.stdin,output:process.stdout});letinput[];rl.on(line,line{input.push(line);});rl.on(close,(){letindex0;letpriceRecordsNumber(input[index]);lethoursNumber(input[index]);letpricesinput[index].split( ).map(Number);console.log(solve(priceRecords,hours,prices));});functionsolve(priceRecords,hours,prices){letres0;letminSumInfinity;letsum0;// 滑动窗口for(letright0;rightpriceRecords;right){sumprices[right];if(righthours-1){continue;}if(righthours-1){res0;minSumsum;continue;}sum-prices[right-hours];if(summinSum){minSumsum;resright-hours1;}}returnres;}Gopackagemainimport(bufiofmtos)funcsolve(priceRecordsint,hoursint,prices[]int)int{res:0minSum:int(^uint(0)1)sum:0// 滑动窗口forright:0;rightpriceRecords;right{sumprices[right]ifrighthours-1{continue}ifrighthours-1{res0minSumsumcontinue}sum-prices[right-hours]ifsumminSum{minSumsum resright-hours1}}returnres}funcmain(){in:bufio.NewReader(os.Stdin)varpriceRecords,hoursintfmt.Fscan(in,priceRecords)fmt.Fscan(in,hours)price:make([]int,priceRecords)fori:0;ipriceRecords;i{fmt.Fscan(in,price[i])}fmt.Println(solve(priceRecords,hours,price))}C语言#includestdio.h#includelimits.hintsolve(intpriceRecords,inthours,intprices[]){intres0;intminSumINT_MAX;intsum0;// 滑动窗口for(intright0;rightpriceRecords;right){sumprices[right];if(righthours-1){continue;}if(righthours-1){res0;minSumsum;continue;}sum-prices[right-hours];if(summinSum){minSumsum;resright-hours1;}}returnres;}intmain(){intpriceRecords;inthours;scanf(%d,priceRecords);scanf(%d,hours);intprice[priceRecords];for(inti0;ipriceRecords;i){scanf(%d,price[i]);}printf(%d,solve(priceRecords,hours,price));return0;}

相关新闻

Java SSM360与Vue+SpringBoot构建高校宿舍管理系统

Java SSM360与Vue+SpringBoot构建高校宿舍管理系统

2026/8/10 13:07:07

1. 项目背景与核心需求学生宿舍管理系统是高校信息化建设的重要组成部分,传统纸质登记方式效率低下且容易出错。这个基于Java SSM360框架、VueSpringBoot技术栈的宿舍管理系统,主要解决三个核心痛点:访客登记数字化:替代纸质登记本…

3分钟学会用代码画图:Mermaid Live Editor如何让技术文档创作变得如此简单?

3分钟学会用代码画图:Mermaid Live Editor如何让技术文档创作变得如此简单?

2026/8/10 12:57:07

3分钟学会用代码画图:Mermaid Live Editor如何让技术文档创作变得如此简单? 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_…

Minecraft模组制作革命:无需代码,用MCreator可视化工具释放你的创造力

Minecraft模组制作革命:无需代码,用MCreator可视化工具释放你的创造力

2026/8/10 12:57:07

Minecraft模组制作革命:无需代码,用MCreator可视化工具释放你的创造力 【免费下载链接】MCreator MCreator is an open-source software used to make Minecraft Java Edition mods, Minecraft Bedrock Edition Add-Ons, resource packs, and data packs…

全国油价接口能力边界解析:省份映射、返回结构与限流设计

全国油价接口能力边界解析:省份映射、返回结构与限流设计

2026/8/10 13:57:09

接口定位:能做什么,不能做什么 全国油价 API 是一个面向生活服务场景的轻量级数据接口,通过一次 POST 请求即可查询全国 31 个大陆省级行政区的汽柴油零售限价。它并不提供加油站级别的精确用量说明,也不提供历史用量说明走势或国…

出差拜访客户后攒了一堆录音,2026怎么把音频转文字对比评测指南

出差拜访客户后攒了一堆录音,2026怎么把音频转文字对比评测指南

2026/8/10 13:57:09

针对出差拜访客户攒下一堆录音的需求,2026年选音频转文字工具不需要盲目试错,选择核心看你的整理目标:只需要纯逐字稿留存,选大平台成熟工具即可;如果还要自动整理客户需求、提取跟进待办,就要挑带场景化AI…

防火窗玻璃选型要点

防火窗玻璃选型要点

2026/8/10 13:57:09

防火窗玻璃核心按耐火极限、使用场景选型,分为单片防火玻璃、复合隔热防火玻璃两类,需匹配规范要求。住宅、普通商铺耐火 0.5h 场景,优先选用单片铯钾防火玻璃。该玻璃通透度高、自重较轻、造价经济,遇高温会形成隔热阻火层&#…

鸣潮自动化工具ok-ww:5分钟解锁智能游戏辅助,每天节省2小时游戏时间

鸣潮自动化工具ok-ww:5分钟解锁智能游戏辅助,每天节省2小时游戏时间

2026/8/10 13:57:09

鸣潮自动化工具ok-ww:5分钟解锁智能游戏辅助,每天节省2小时游戏时间 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-wa…

如何将STL文件转换为STEP格式:专业用户的完整解决方案

如何将STL文件转换为STEP格式:专业用户的完整解决方案

2026/8/10 13:57:09

如何将STL文件转换为STEP格式:专业用户的完整解决方案 【免费下载链接】stltostp Convert stl files to STEP brep files 项目地址: https://gitcode.com/gh_mirrors/st/stltostp 在3D设计和制造领域,STL格式转换到STEP格式转换是工程师们经常面临…

AudioSR终极指南:三步将任意音频提升至48kHz专业品质

AudioSR终极指南:三步将任意音频提升至48kHz专业品质

2026/8/10 13:47:09

AudioSR终极指南:三步将任意音频提升至48kHz专业品质 【免费下载链接】versatile_audio_super_resolution Versatile audio super resolution (any -> 48kHz) with AudioSR. 项目地址: https://gitcode.com/gh_mirrors/ve/versatile_audio_super_resolution …

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/10 5:58:32

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/10 7:54:12

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/10 7:19:21

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

Prometheus 监控体系深度部署:选型别只看功能清单

Prometheus 监控体系深度部署:选型别只看功能清单

2026/8/10 0:06:33

Prometheus 监控体系深度部署:选型别只看功能清单 选型场景:小规模集群直接部署 Thanos 的代价 如果为解决 15 天本地存储限制,直接部署 Thanos Sidecar、Store Gateway、Querier、Compactor、Ruler、Bucket Web 并接入 S3,就需…

ELK 日志分析平台与全链路追踪:代码评审该盯住哪些细节

ELK 日志分析平台与全链路追踪:代码评审该盯住哪些细节

2026/8/10 0:06:33

ELK 日志分析平台与全链路追踪:代码评审该盯住哪些细节 场景示例:一条 2MB 日志影响 Elasticsearch 写入 一个上传接口若执行 log.Info("Request dumped: ", r.Body),会将 2MB 的二进制 Body 写入日志。高并发下,这类超…

从零到一构建开源项目的完整历程:代码评审该盯住哪些细节

从零到一构建开源项目的完整历程:代码评审该盯住哪些细节

2026/8/10 0:06:33

从零到一构建开源项目的完整历程:代码评审该盯住哪些细节 项目进入稳定版本后,外部 Pull Request(PR)会带来新的协作成本。大范围改动混入风格重构,或修复局部问题时修改公共函数签名,都可能扩大评审和兼容…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/9 13:42:46

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…