**返回所有加载的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 的所有子文件,即 45

所以最终返回:[2,4,5]

解题思路

本题是典型的树形结构深度优先遍历(DFS)问题。

  • 建表:将 fileIdsparentIds 通过哈希表建立父 -> 子的映射关系。
  • DFS:从目标文件 targetId 开始,使用栈(或递归)遍历该节点及其所有子节点。
  • 排序:遍历完成后,将结果列表按从小到大排序输出。

复杂度分析

  • 时间复杂度:O(N),其中 N 为文件列表长度。每个文件最多被访问一次,最后排序 O(N log N)。
  • 空间复杂度:O(N),用于存储子节点映射表和
THE END