通过率 59% · 提交 148 · 通过 88
在魔法编程学院,每个魔法项目都拥有若干,而每个代码仓中包含用不同编程语言书写的咒语代码(代码行数)。魔法师们需要一个统计系统来管理代码仓的代码量,并随时查询各语言的代码贡献情况。 你的任务是实现一个代码量统计系统,支持以下功能: 1. 初始化系统 创建系统时,将产品与其代码仓的绑定关系进行输入,并初始化所有代码仓的代码量为 `0`。 2. 调整代码量 修改某代码仓中某种语言的代码行数,支持增加或减少,保证任何语言的代码量不会为负。 3. 统计语言排行 查询某个产品或所有产品中编程语言的代码量排行,按以下规则排序并输出 列表: - ; - 如果代码量相同,则按语言 ID 升序排列; - 只输出代码量大于 `0` 的语言 ID。
这类题属于华为可信认证科目一方向中「可信 / 系统设计」方向的高频题型,通常考察对「可信 / 系统设计」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
第一行输入一个整数 Q,表示操作的总次数(1 ≤ Q ≤ 1000)。
接下来输入 Q 行,每行表示一个操作,具体格式如下:
初始化系统
第一行为字符串 CodeStatsSystem,表示初始化操作。
m,表示产品的数量(1 ≤ m ≤ 100)。m 组数据,每组数据两行:
product_id,表示产品 ID(1 ≤ product_id ≤ 100)。repo_ids_size,表示该产品拥有的代码仓数量,以及 repo_ids_size 个代码仓 ID(0 ≤ repo_id ≤ 999)。输出固定字符串 null。
保证系统在第一次初始化并且只初始化一次。
调整代码量
第一行为字符串 change_code_lines。
repo_id、language_id 和 code_lines:
repo_id:代码仓 ID(0 ≤ repo_id ≤ 999);language_id:语言 ID,范围为 [0, 6],分别对应 "C"、"C++"、"Go"、"Java"、"JavaScript"、"Python"、"Rust";code_lines:代码行变化量(-100000 ≤ code_lines ≤ 100000)。
输出该产品中该语言的当前代码行数。统计语言排行
第一行为字符串 stat_language。
product_id:
product_id = 0 表示统计所有产品;product_id > 0 表示统计指定产品。
输出语言 ID 列表,按排序规则排列,用空格分隔。如果没有符合条件的语言,输出空行。针对每个操作,输出结果:
CodeStatsSystem 操作输出固定字符串 null;change_code_lines 操作输出一个整数,表示调整后的代码行数;stat_language 操作输出一行整数,表示符合条件的语言 ID 列表。示例 1
输入示例
8 CodeStatsSystem 3 10 2 102 101 12 1 122 22 1 221 change_code_lines 221 3 2500 change_code_lines 102 2 2100 change_code_lines 101 1 2000 stat_language 10 stat_language 22 change_code_lines 102 2 -100 stat_language 0
输出示例
null 2500 2100 2000 2 1 3 2000 3 1 2
obj = CodeStatsSystem([ProductRepos(10, [102, 101]), ProductRepos(12, [122]), ProductRepos(22, [221])]) print(obj.change_code_lines(221, 3, 2500)) print(obj.change_code_lines(102, 2, 2100)) print(obj.change_code_lines(101, 1, 2000)) print(obj.stat_language(10)) print(obj.stat_language(22)) print(obj.change_code_lines(102, 2, -100)) print(obj.stat_language(0))
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有