)
空间占用计算2026 华为OD机试真题 4月15日华为OD上机新系统考试真题 100 分题型点击查看华为 OD 机试真题完整目录2026最新华为OD机试新系统卷 双机位C卷 真题题库目录全覆盖题库 逐点算法考点详解题目描述员工A 的磁盘空间经常被耗尽他需要找到占用空间最大的目录或文件然后决定如何清理文件释放空间。给定某一目录请编写程序帮助他统计该目录内一级子目录和文件的占用空间并返回目标目录一级子项文件或子目录中占用空间最大的项。2026 华为OD机试真题 4月15日华为OD上机新系统考试真题 100 分题型规则说明目录占用空间为其内部所有文件 Size 的总和且目录本身 Size 为 0。目录深度不高于 7 层目录或文件名总长度不超过 128 字节。当存在多个子项占用空间均为最大时多个子项采用字符升序排列。目标目录不在文件系统中时输入路径前缀匹配不到任何路径返回空列表。输入描述输入 参数 1要进行统计的目标目录。 参数 2文件系统内的文件列表。 参数 3文件 Size 列表该列表中的数据和文件列表存在一一对应关系。输出描述输出 目标目录一级子项文件或子目录中占用空间最大的项组成的列表。示例1输入/dir1/dir2-1, [/dir0/dir1-1/file1-1, /dir1/dir1-1/file1-1, /dir1/dir2-1/file3-1, /dir1/dir2-1/file3-2, /dir1/dir2-1/dir3-1/file4-1], [8192, 81920, 2048, 8192, 1024]输出[/dir1/dir2-1/file3-2]说明/dir1/dir2-1 下共有三个一级子项 file3-1、file3-2、dir3-1它们的占用空间统计如下file3-12048file3-28192dir3-11024其内部所有文件的 Size 之和由于内部只有一个文件 file4-1因此和 file4-1 的 Size 一致。其中 file3-2 占用的空间最大因此返回 [/dir1/dir2-1/file3-2]。示例2输入/dir1, [/dir0/dir2-1/file3-1, /dir1/dir2-1/file3-1, /dir1/dir2-1/file3-2, /dir1/dir2-2/file3-3, /dir1/file2-3], [10240, 4096, 8192, 10240, 8192]输出[/dir1/dir2-1]说明/dir1 下共有三个一级子项 dir2-1、dir2-2、file2-3它们的占用空间如下解题思路核心思想这道题要求统计指定目标目录下一级子项文件或子目录的占用空间。 1.输入处理输入包括目标目录路径target、文件路径列表files和对应的文件大小列表sizes。 2.过滤路径只有以target /开头的路径才是该目标目录下的内容。 3.确定一级子项 - 对于每个匹配的文件路径去掉target /前缀剩余部分为rest。 - 如果rest中不再包含斜杠/说明该项是目标目录下的一个文件。 - 如果rest中包含斜杠/则rest中第一个斜杠之前的部分是目标目录下的一个子目录名。 - 完整的一级子项路径为target / (文件名或子目录名)。 4.累加空间使用哈希表Map/Dictionary统计每个一级子项的总大小。目录的大小是其内部所有文件大小的总和。 5.查找最大值在统计结果中找到最大的占用空间值并提取所有达到该最大值的子项路径。 6.排序输出如果存在多个最大值项按字符升序排列。复杂度分析时间复杂度$O(N \times L)$其中 $N$ 是文件列表的长度$L$ 是路径的最大长度。我们需要遍历每个文件路径并进行前缀匹配和字符串处理。空间复杂度$O(N \times L)$用于存储哈希表统计结