华为OD机试真题 新系统 2026-08-09 Python、JS【查找最佳充电策略】
目录题目思路Code题目题目内容给定一个电费组 priceArray表示未来 priceRecords 小时内每小时的电价单位为分/kWh。找出充电成本最低的连续 hours 个小时的时间段开始时刻点。若存在多种成本最低方案优先返回成本最低方案中最早的时间点。输入描述本题为核心代码模式需要实现函数 bestChargeStart(priceRecords, hours, priceArray)。参数 priceRecords 表示电价记录数量满足 1 priceRecords 24。参数 hours 表示需要连续充电的小时数满足 1 hours priceRecords。参数 priceArray 为长度为 priceRecords 的整数数组priceArray[i] 表示第 i 小时的电价满足 1 priceArray[i] 100。本地命令行版本支持输入形如 priceRecords 12, hours 3, priceArray [25,15,20,18,12,25,30,28,22,16,14,35] 的一行文本也支持先输入 priceRecords hours再输入 priceArray 数组。输出描述返回一个整数表示最低充电时间段的起始索引索引从 0 开始计数。样例 1输入priceRecords 12, hours 3, priceArray [25,15,20,18,12,25,30,28,22,16,14,35]输出2说明连续 3 小时电价和最小的是索引 2 开始的 20,18,12总成本为 50。思路整体思路题目要求固定长度 hours 的连续区间最小和因此使用滑动窗口可以在一次扫描中得到答案。第一步先计算前 hours 个小时的电价和作为第一个候选窗口。这个窗口对应起始索引 0。第二步从第 hours 个位置开始向右滑动窗口每次加入新的小时电价同时移除窗口最左侧的旧电价从而用 O(1) 时间得到当前窗口成本。第三步若当前窗口成本小于历史最低成本则更新最低成本和答案索引。若当前窗口成本等于历史最低成本不更新答案因为题目要求并列时返回最早的时间点。边界处理当 hours 等于 priceRecords 时只有一个可选窗口答案为 0。复杂度分析数组只扫描一遍时间复杂度 O(priceRecords)只使用常数个变量空间复杂度 O(1)。Codeimport re import sys def parse_input(text): nums list(map(int, re.findall(r-?\d, text))) # 输入是核心代码模式的参数文本本地运行时先提取其中所有整数。 return nums[0], nums[1], nums[2:2 nums[0]] def solve(price_records, hours, prices): # 前两个整数分别是记录数量和连续充电时长后面才是电价数组。 window sum(prices[:hours]) # 窗口长度固定为 hours因此只需要维护当前窗口的电价总和。 best_sum window # 先计算起点为 0 的窗口成本作为后续比较的初始最优值。 best_start 0 # 窗口右移时加入新的右端电价同时减去离开的左端电价。 for right in range(hours, price_records): # start 表示当前窗口起始索引和题目要求的返回值一致。 window prices[right] - prices[right - hours] start right - hours 1 # 只有当前成本严格更小时才更新答案成本相同保留更早起点。 if window best_sum: best_sum window # hours 等于 priceRecords 时循环不会进入答案自然保持 0。 best_start start return best_start # 输出只打印最优起始索引不额外拼接其他说明文本。 print(solve(*parse_input(sys.stdin.read())))JSconst fs require(fs); // 输入是核心代码模式的参数文本本地运行时先提取其中所有整数。 const text fs.readFileSync(0, utf8); function parseNumbers(text) { // 前两个整数分别是记录数量和连续充电时长后面才是电价数组。 return [...text.matchAll(/-?\d/g)].map((m) Number(m[0])); } function solve(priceRecords, hours, prices) { // 窗口长度固定为 hours因此只需要维护当前窗口的电价总和。 let window 0; for (let i 0; i hours; i) { window prices[i]; } // 先计算起点为 0 的窗口成本作为后续比较的初始最优值。 let bestSum window; let bestStart 0; // 窗口右移时加入新的右端电价同时减去离开的左端电价。 for (let right hours; right priceRecords; right) { window prices[right] - prices[right - hours]; const start right - hours 1; // start 表示当前窗口起始索引和题目要求的返回值一致。 if (window bestSum) { bestSum window; // 只有当前成本严格更小时才更新答案成本相同保留更早起点。 bestStart start; } } // hours 等于 priceRecords 时循环不会进入答案自然保持 0。 return bestStart; } const nums parseNumbers(text); const priceRecords nums[0]; const hours nums[1]; const prices nums.slice(2, 2 priceRecords); // 输出只打印最优起始索引不额外拼接其他说明文本。 console.log(solve(priceRecords, hours, prices));【华为od机试真题PythonJSJavaGo合集】【超值优惠】Py/JS/Java/Go合集【华为od机试真题Python】Python真题题库【华为od机试真题JavaScript】JavaScript真题题库【华为od机试真题JavaGo】JavaGo真题题库【华为od机试真题C】C真题题库【华为od机试真题C语言】C语言真题题库【华为od面试手撕代码题库】面试手撕代码题库【华为od机试面试交流群】【文章底部有二维码链接可扫码加交流群】华为OD机试:二本院校有机会吗? 有机会,但不大,大神除外!机考分数越高越好,所以需要提前刷题。机考通过后,如果没有收到面试邀请,也不要着急,非目标院校面试邀请发的时间比较晚。非目标院校今年有点难,机试至少要考到350分,所以需要疯狂刷题,华为OD机考是有题库的,最好在考前完所有题库题目。华为OD机试:跨专业可以参加华为OD可以,但是如果你的本科院校比较差,上岸概率不大。华为OD机试:华为OD简历被锁定机试通过,性格测试也通过,但是没人联系面试,发现简历被锁定。此时需要主动去联系HR。让他帮助你查询原因。

相关新闻

数组走到末尾为什么还能继续:环形队列的生活类比

数组走到末尾为什么还能继续:环形队列的生活类比

环形队列不是让数组真的弯成圆,而是让头尾下标按容量取模复用空位。本文借餐厅取餐转盘解释 head、tail、size 三个状态量,给出支持扩容的 Python 泛型思路实现,并逐项验证绕回、满队、空队和先出后入等关键操作。 把数组想成取餐转盘 餐厅有…

2026/10/13 17:07:20 阅读更多 →
魔兽争霸3优化工具WarcraftHelper使用教程:解锁帧率、宽屏与地图限制一次搞定

魔兽争霸3优化工具WarcraftHelper使用教程:解锁帧率、宽屏与地图限制一次搞定

魔兽争霸3优化工具WarcraftHelper使用教程:解锁帧率、宽屏与地图限制一次搞定 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 周末晚上你兴…

2026/10/2 0:42:12 阅读更多 →
2026广州做小程序商城的公司有哪些,广州小程序商城服务商怎么挑

2026广州做小程序商城的公司有哪些,广州小程序商城服务商怎么挑

广州小程序商城服务商怎么挑,商家可以先看它是否真正关心你的生意。靠谱服务商不会只问你要不要小程序,也不会只给你看模板。它会问商品怎么卖,客户从哪里来,订单怎么处理,是否需要会员和活动,后续谁来维护…

2026/9/27 9:29:20 阅读更多 →

最新新闻

高考数学对数比较大小压轴题:解题技巧与通用框架

高考数学对数比较大小压轴题:解题技巧与通用框架

1. 这道题为什么值得单独拿出来讲2020年高考理科数学全国3卷的选择题第十二题,在考后相当长一段时间里都是讨论度很高的一道题。它考的不是什么偏门冷门的公式,而是一道以对数运算为核心、结合不等式比较大小的题目。很多同学考完之后的第一反应是"…

2026/10/16 0:35:22 阅读更多 →
量化CTA实盘闭环:523-3框架与三层次执行保障

量化CTA实盘闭环:523-3框架与三层次执行保障

简介:本资源是一份面向量化投资从业者、金融工程研究者及进阶交易爱好者的专业级CTA策略入门与进阶指南,系统梳理量化CTA的核心理念、分类框架与实盘落地逻辑。PDF文档共21页,结构清晰,涵盖CTA策略概况、收益来源、趋势跟踪/统计套…

2026/10/16 0:35:22 阅读更多 →
CCF-CSP真题解析:算法建模、C++工程细节与边界处理实战

CCF-CSP真题解析:算法建模、C++工程细节与边界处理实战

简介:本资源是面向CCF-CSP认证考生的真题精解学习资料,聚焦算法设计与编程实战能力提升,特别适合计算机专业学生及算法初学者系统训练。内容涵盖2014至2023年共6套高频真题(如‘小明上学’‘卖菜’‘跳一跳’‘相反数’‘仓库规划…

2026/10/16 0:35:22 阅读更多 →
微电网调度MATLAB工程实现:双时间尺度MILP优化与不确定性建模

微电网调度MATLAB工程实现:双时间尺度MILP优化与不确定性建模

简介:本资源是一套面向电力系统方向本科生、研究生及科研人员的智能微电网调度算法MATLAB实现方案,聚焦可再生能源接入背景下微电网的经济性调度与稳定性优化问题。压缩包共20个文件,含18个核心MATLAB函数(.m)、1个备份…

2026/10/16 0:34:22 阅读更多 →
Windows SDK中国象棋:从双缓冲到Alpha-Beta的完整课设实战

Windows SDK中国象棋:从双缓冲到Alpha-Beta的完整课设实战

简介:基于Windows SDK的象棋程序完整工程源码包,面向C/C初学者及桌面游戏开发入门者,重点演示如何使用Win32 API与GDI实现棋盘绘制、棋子拖放、走棋规则判断和人机对弈。压缩包共38个文件,主要包含C源文件(.cpp)、头文件(.h)、图标…

2026/10/16 0:34:22 阅读更多 →
NC附件上传的本地保存与OSS上传架构设计

NC附件上传的本地保存与OSS上传架构设计

1. 项目概述:为什么“NC传输附件的本地文件保存和文件上传”是企业级系统绕不开的硬需求在某高校实验室参与一个跨部门协同管理平台开发时,我第一次被业务方拉着开了个紧急会——他们刚上线的NC(用友NCCloud)系统里,所…

2026/10/16 0:34:22 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

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

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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/15 9:49:14 阅读更多 →