博客:有序数字列表中的缺失数字
引言
在炎炎烈日下的军训场上,N个同学整齐排列,从左向右依次报数。然而,教官却惊讶地发现有一位同学缺席了。现在,我们面临的任务是找出这位缺席的同学的序号。这个问题可以归类为“找缺失元素”或“找消失的数字”类型的问题,而解决这类问题是编程中经常面对的挑战之一。
示例1
输入
1, 2, 3, 4, 6, 7, 8, 9, 10
输出
5
解释
5没有出现在序列中,说明是5号同学缺席了,返回5。
示例 2
输入
1, 2, 3
输出
4
解释
列表长度为3,而1、2、3都在列表中,所以是序号为4的同学缺席了。
解题思路
首先,我第一反应就是使用遍历。我们从1开始,逐个检查报数的序号列表中是否包含了当前的数字,直到找到缺席的同学。下面是对应的Python代码:
def find_missing_student(records):
# 从1开始遍历可能的同学序号