通过率 61% · 提交 232 · 通过 142
在魔法大陆的 魔能市集 中,魔法师们通过一种神秘的 魔法订购系统 来购买所需的魔法物资。订购完成后,市集会按照魔法规则发货并更新订购状态。然而,发货时需要特别的魔法仪式,而所有物资的管理也必须遵循严格的顺序。 请设计一个支持以下操作的 魔法订购系统: 1. 水晶初始化 用于初始化魔法订购系统,清空所有历史数据。 2. 魔法订购 - 参数:`魔法师ID`、`订购物资类型`(可以为多个类型)。 - 每个魔法师可以订购任意数量的物资类型,物资可以重复订购。相同类别的物资如果已经订购了,再订购,则忽略这类物资。 - 系统会记录魔法师的订购信息,等待发货。 3. 发货仪式 - 参数:`物资类型`(一次仅发货一种类型)。 - 如果多个魔法师订购了该类型的物资,视为 所有相关魔法师均收到该物资。 - 系统会更新对应魔法师的订购状态,将已发货的物资从他们的待发货列表中移除。 4. 魔法查询 - 系统按照以下规则返回所有魔法师的ID: - 按照 降序 排列。 - 如果未发货数量相同,则按照 魔法师ID升序 排列。
这类题属于华为可信认证科目一方向中「可信 / 系统设计」方向的高频题型,通常考察对「可信 / 系统设计」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
Q,表示操作的数量。Q 行表示若干操作,具体格式如下:
MagicOrderSystem 初始化系统操作。place_order:随后输入一个整数 wizard_id 和一个整数 items 的长度,接着是items数组。deliver_item:随后输入一个整数 item_type。query_status:查询所有魔法师的订购状态。MagicOrderSystem 操作,输出 null。place_order 操作,输出这个魔法师当前订购物资类型数量。deliver_item 操作,输出需要向多少个魔法师发货。query_status 操作,按规则返回所有魔法师的订购状态(具体格式见样例输出)。示例 1
输入示例
9 MagicOrderSystem place_order 1 3 101 102 103 place_order 2 2 102 104 place_order 3 1 101 deliver_item 102 query_status place_order 4 2 101 105 deliver_item 101 query_status
输出示例
null 3 2 1 2 1 2 3 2 3 1 2 4 3
MagicOrderSystem() place_order(1, [101, 102, 103]) place_order(2, [102, 104]) place_order(3, [101]) deliver_item(102) query_status() place_order(4, [101, 105]) deliver_item(101) query_status()
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有