






















2026 华为OD机试真题 4月8日华为OD上机新系统考试真题 100 分题型
点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解
模拟一个系统的命令行配置,包含添加、修改、删除三项操作,详情如下:
其中:add_rule、mod_rule、del_rule是操作关键字,rule_id和rule_index是属性关键字且属性取值范围为数字 1 - 9999 之间,操作、属性之间都用空格进行分割。
在进行批量操作时,一个命令失败后可以继续下一条命令的操作。现给有一组批量操作的字符串,包括不超过 1000 条连续的操作指令,格式为 [cmd][cmd][cmd],请将字符串解析后按照顺序进入你实现的系统,统计出配置失败的次数。
输入命令以空格分割
输出失败命令数量
输入
[add_rule rule_id=1 rule_index=9999][mod_rule rule_id=1 rule_index=10][del_rule rule_id=1]
输出
说明
所有操作都成功。
输入
[add_rule rule_id=1][mod_rule rule_id=1 rule_index=10][del_rule rule_id=1]
输出
3
说明
add操作不包含rule_index,添加失败,后续修改和删除操作,无对应rule_id数据,也会失败。
输入
[add_rule rule_id=1 rule_index=10000]
输出
1
说明
rule_index超过范围
本题是一道纯模拟的题目。由于操作指令和参数是通过空格或者换行进行分割的,为了正确地解析每一条命令及其参数,我们可以将所有输入先拆分成一个个词(token)。
add_rule、mod_rule、del_rule 时,说明开始了一条新指令。后续的形如 k=v 且 v 是纯数字的 token 就是该指令的参数。rules 来维护当前系统中所有的规则,键为 rule_id,值为 rule_index。add_rule:检查是否包含 rule_id 和 rule_index,检查二者是否在 $1 \sim 9999$ 范围内,检查该 rule_id 是否已经存在。如果不满足任意条件,则视为失败(fail_count++),否则添加到哈希表中。mod_rule:检查是否包含 rule_id 和 rule_index,检查二者是否在 $1 \sim 9999$ 范围内,检查该 rule_id 是否已经存在,并检查修改后的 rule_index 是否与原来不同。如果均满足则更新,否则失败。del_rule:检查是否包含 rule_id,检查其范围,检查是否已存在于系统中。满足则从哈希表中删除,否则失败。fail_count。此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。