小红正在整理自己的 n 本魔法相册,她发现有些珍贵的记忆(照片)由于备份原因,同时出现在了多本相册中。 每张照片由一个唯一的标识符 id 和一个时间戳 t 组成。在一个相册内部,所有照片的 id 互不相同;但在不同的相册之间,可能存在 id 相同的照片。已知相同的 id 总是对应相同的时间戳 t 。 小红需要找出所有在超过一本相册中出现过的照片,并统计它们在所有相册中出现的总次数。请将这些重复的照片按照时间戳 t 从小到大排序后输出。
第一行输入一个整数 n ( 0 < n < 10 ),表示相册的数量。 接下来的 n 行,每行包含若干个由空格分隔的整数,表示该相册内的照片信息。每两个整数为一个组合,前一个为照片的 id ,后一个为该照片的时间戳 t 。 每行照片的数量 m 满足 0 < m < 100 。所有 id 和 t 均为非负整数。
输出一行整数,每两个整数为一个组合,分别为重复出现的照片 id 及其在所有相册中出现的总次数。 组合之间按时间戳 t 升序排列。输入保证至少存在一张重复的照片,且排序结果唯一。
4 999 1 998 2 997 3 996 4 995 5 994 6 993 7 992 8 991 9 990 10 989 11 988 12 987 13 999 1 995 5 986 14
999 2 995 2
考点:排序
数据规模 n ≤ 10 | 限制 1 秒 / 256MB | 标准输入输出
参考方向:排序
先用 O(n log n) 排序把无序变有序,后续处理往往就简单了。
思路框架(排序 通法 · 非本题专属)
实现要点:在 C++ 中用 std::sort,Python 用 sorted();注意自定义比较函数的严格弱序。
复杂度:时间 O(n log n) | 空间 O(log n) ~ O(n)
该范式的通法易错点
对照本题
本题在源数据中没有官方考点标签,方向由题面特征推断,仅供参考。
样例 1:输入 4 / 999 1 998 2 997 3 996 4 995 5 / 994 6 993 7 992 8 991 9 990 10 / 989 11 988 12 987 13 / 999 1 99 → 输出 999 2 995 2
样例说明:
解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2026年-华为-1月21号开发岗。