核心任务是:在 1…N 的连续学号中,找出「未出现」在已交卷列表里的那些学号,并按升序返回。
由于学号是连续整数且范围很小(N≤80),最直观也最稳妥的做法是标记法(桶/集合):
seen 标记哪些学号已经交卷——遍历一遍已交卷列表,把出现的学号置为「已交」。张老师组织了一场线上模拟考试,并要求考生使用学号登录网站进行考试。考试完成后张老师发现试卷提交不全,他需要找到哪些同学没有交卷。
若班级内有 N 个学生,则学号从 1 开始到 N 结束,每个学生一个学号。一个班级内学生个数不超过 80,即 0<N≤80。
请你编写一个程序,帮助张老师快速找到哪些学号的学生没有交卷。
输入
10,[1,5,3,2,6,7,8,9,10]
输出
[4]
说明
班级内共有 10 人,学号 1-10,学号为 4 的学生没有交卷,因此返回 [4]。
输入
10,[9,2,3,5,6,7]
输出
[1,4,8,10]
说明
班级内共有 10 人,学号 1-10,学号为 1,4,8,10 的学生没有交卷,因此返回 [1,4,8,10]。
输入
10,[9,1,2,4,5,3,7,8,6,10]
输出
[]
说明
班级内共有 10 人,学号 1-10,所有学生均进行了交卷,因此返回 []。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册