7.1华为OD机试真题 新系统 - 仓库盘点 (JavaPyCC++JsGo)

📅 2026/8/28 1:20:16
7.1华为OD机试真题 新系统 - 仓库盘点  (JavaPyCC++JsGo)
仓库盘点2026 华为OD机试真题 7月1日华为OD上机新系统考试真题 100 分题型点击查看华为 OD 机试真题完整目录2026最新华为OD机试新系统卷 双机位C卷 真题题库目录全覆盖题库 逐点算法考点详解题目描述仓库中有若干类物品每类物品都有一个类别编号整型。年底进行仓库盘点统计每类物品的件数按照件数从多到少的顺序为物品排序整理完毕输出物品编号序列。2026 华为OD机试真题 7月1日华为OD上机新系统考试真题 100 分题型输入描述一串物品类别编号每个编号对应该类物品的一次入库它是按照入库先后排列的。格式一行字符串编号用逗号分隔如1,2,2,3,3,3输出描述整理后的物品编号序列用逗号分隔。补充说明如果物品的件数相同则按照物品首次入库的先后顺序排列。物品种类不超过10所有物品的总件数不超过100。示例1输入1,2,2,3,3,3输出3,2,1说明因为编号为3的有3件编号为2的有2件编号为1的有1件按件数排序为从高到低排序3件 2件 1件输出对应编号顺序为3 2 1。示例2输入3,3,2,2,1,1输出3,2,1说明因为所有物品的件数均为两件按物品首次出现的先后顺序排序输出对应编号顺序为3 2 1解题思路核心思想计数排序 自定义比较器遍历一次统计每个编号的出现次数和首次出现位置然后按规则排序。关键步骤 1. 遍历数组用哈希表统计每个编号的出现次数 2. 同时记录每个编号首次出现的位置 3. 按(-次数, 首次位置)排序算法步骤解析输入字符串为整数列表遍历列表统计cnt[id]和first[id]获取所有不同的编号列表排序件数降序件数相同按首次出现位置升序输出排序后的编号序列复杂度分析时间复杂度O(n k log k)n 为物品总数k 为物品种类数空间复杂度O(k)存储计数