大家好,我是苏承栈。今天我们来聊聊一个有趣的问题:如何在大量数据中快速找出缺失的元素?下面我会通过一个ACM竞赛的题目来给大家讲解。
问题分析
题目描述:给定一个班级中所有妹纸的学号,以及已到场的妹纸的学号,要求找出没来的妹纸的学号。
输入:
- 第一行一个整数n,代表妹纸数量(1<=n<=10^6)。
- 接下来n行,每行一个整数,代表妹纸的学号(1~2*10^9)。
- 接下来n-1行,每行一个整数,代表已到场的妹纸的学号。
输出:
输出没来的妹纸的学号。
解决方案
由于学号范围很大,直接存储会占用大量内存。因此,我们可以采用分段存储的方法。
