6.24华为OD机试真题 新系统 - 设计能量管理系统  (JavaPyCC++JsGo) 设计能量管理系统2026 华为OD机试真题 6月24日华为OD上机新系统考试真题 100 分题型点击查看华为 OD 机试真题完整目录2026最新华为OD机试新系统卷 双机位C卷 真题题库目录全覆盖题库 逐点算法考点详解题目描述设计一个能量管理系统用于管理多种能源的生产、消耗。系统支持以下功能支持添加能源生产与消耗记录每条记录对应一个版本号第 1 条为版本 1依次递增查询指定版本号之前指定时间段的净能量时间重叠按时间交集长度 / 时段总时长进行比例加权。2026 华为OD机试真题 6月24日华为OD上机新系统考试真题 100 分题型输入描述函数输入为字符串数组长度不超过 1000字符串组会以一条查询命令结尾函数返回净能量结果。输入均为合法数据能量类型字段不做校验生产量、消耗量均为 32 位整型数据。 全量查询 版本号输入 A。所有时间戳以秒为单位为 Unix 时间戳。版本号从 1 开始递增。生产记录可以有多条字符串以AddProductionRecord 开头 表示生产记录共计 4 个参数每个参数通过 , 分隔参数 1 表示能量类型 (wind,solar,grid) 参数 2 表示生产量参数 3 表示生产起始时间参数 4 表示生产终止时间。消耗记录可以有多条字符串以 AddConsumptionRecord 开头 表示消耗记录共计 3 个参数每个参数通过 , 分隔参数 1 表示消耗量参数 2 表示消耗起始时间参数 3 表示消耗终止时间。查询命令只有一条且为最后一条字符串以 QueryNetEnergy 表示查询净能量共 3 个参数3 个参数间通过 , 分隔参数 1 表示查询某个版本内的消耗记录32 位整型数据如查询全量版本则该字段为字符 A参数 2 表示查询起始时间参数 3 表示查询终止时间查询时间段为闭区间即包含起始和终止时间点输出描述净能量32 位整型数据四舍五入取值范围−2,147,483,648∼2,147,483,647。示例1输入AddProductionRecord,wind,500,1640000000,1640001000 AddConsumptionRecord,100,1640000000,1640000600 AddConsumptionRecord,200,1640000251,1640001251 QueryNetEnergy,3,1640000000,1640001000输出250说明版本 1: AddProductionRecord,wind,500,1640000000,1640001000版本 2: AddConsumptionRecord,100,1640000000,1640000600版本 3: AddConsumptionRecord,200,1640000251,1640001251QueryNetEnergy,3,1640000000,1640001000只取前 3 条记录时间在 1640000000\~1640001000 区间内的版本 1 完全在查询时间内生产量 500版本 2 完全在查询时间内消耗量 100版本 3 时间部分重叠消耗量为 200∗(1640001000−1640000251)/(1640001251−1640000251)149.8净能量为 500−100−149.8250.2四舍五入为 250示例2输入AddProductionRecord,wind,1000,1640000000,1640000500 QueryNetEnergy,1,1640001000,1640002000输出0说明版本 1: AddProductionRecord,wind,1000,1640000000,1640000500QueryNetEnergy,1,1640001000,1640002000只取前 1 条记录时间在 1640001000\~1640002000 区间内的版本 1 不在查询时间内查询版本 1 净能量为 0解题思路核心思想能量管理系统的净能量计算核心思想版本控制每条命令对应一个版本号查询时只考虑指定版本范围内的记录加权计算时间重叠时按交集占比折算有效量 - 交集长度 / 总时长 加权比例四舍五入最终结果四舍五入到32位整数算法步骤解析查询命令获取版本号范围和查询时间段遍历命令列表遇到查询命令停止对每个生产/消耗记录 - 计算时间交集 - 按交集占比加权计算贡献 - 累加到总能量生产为正消耗为负四舍五入并返回结果复杂度分析时间复杂度O(n)n为命令数量空间复杂度O(1)只使用常