**返回所有加载的AGENTS.md文件ID列表**
2026 华为OD机试真题 6月3日华为OD上机新系统考试真题 100 分题型
点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解
题目描述
编码 Agent 工具会在当前项目下生成 AGENTS.md 文件用于记录相关上下文和规范信息;每个 md 文件都有一个唯一 ID,其中根文件 ID 为 0,其他文件除自身 ID 外,还有一个父文件 ID;
Agent 在加载某个 md 文件时需同时加载该 md 文件的所有子文件,当前给定 3 个输入值:
输入 1:md 文件自身 ID 列表(用例保证列表中的 ID 不出现 0)
输入 2:md 文件对应的父文件 ID 列表
输入 3:此次需要加载的某个 md 文件 ID
请输出:需要加载的文件 ID 及所有子文件 ID 列表,并按从小到大的数值顺序返回。
2026 华为OD机试真题 6月3日华为OD上机新系统考试真题 100 分题型
点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解
补充说明
注意
(1) 被加载的文件 ID 一定在第一个列表中。
(2) 两个列表数量相等,且长度 n 满足: 1<=n<=1000。
输入描述
输入 1:md 文件自身 ID 列表(用例保证列表中的 ID 不出现 0)
输入 2:md 文件对应的父文件 ID 列表
输入 3:此次需要加载的某个 md 文件 ID
输出描述
需要加载的文件 ID 及所有子文件 ID 列表,并按从小到大的数值顺序返回。
示例1
输入
1,2,3,4,5,6,7
0,1,1,2,2,3,0
2
输出
[2,4,5]
说明
0 ├── 1 │ ├── 2 │ │ ├── 4 │ │ └── 5 │ └── 3 │ └── 6 └── 7
此次需要加载的文件 ID 为
2,因此需要同时加载文件2的所有子文件,即4和5。所以最终返回:[2,4,5]
解题思路
本题是典型的树形结构深度优先遍历(DFS)问题。
- 建表:将
fileIds和parentIds通过哈希表建立父 -> 子的映射关系。 - DFS:从目标文件
targetId开始,使用栈(或递归)遍历该节点及其所有子节点。 - 排序:遍历完成后,将结果列表按从小到大排序输出。
复杂度分析
- 时间复杂度:O(N),其中 N 为文件列表长度。每个文件最多被访问一次,最后排序 O(N log N)。
- 空间复杂度:O(N),用于存储子节点映射表和