0

我正在尝试一种更有效的方法来遍历一组数字,并找出丢失的数字。我有一个从 1 到 20 的数字数组,但是缺少一个,并且这些数字没有按时间顺序排列(它们被打乱了)

array = [16, 11, 4, 6, 14, 8, 5, 13, 10, 2, 9, 15, 3, 18, 20, 12, 19, 7, 1]

我想到的方法是:

for x in range(1, len(array) + 1):
    if x not in array:
        print(x)

这种方法的问题是速度慢且效率低,如果我需要分析一个非常大的数组(有数千个数字),需要很长时间。

4

1 回答 1

3

你可以找到set.difference

>>> set(range(1, 21)).difference(array)
{17}
于 2018-03-23T16:02:14.330 回答