面试题 17.04. 消失的数字
数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?
因为数组nums包含从0到n的所有整数,所以数组nums中的数应该与下标一一对应,但是由于缺少了一个数字,那么只需要让下表的和加上数组的长度再减去数组中的数的和就可得到所缺的数(因为数组的长度等于数组中最后一个数的大小)。
class Solution:
def missingNumber(self, nums: List[int]) -> int:
nums.sort()
a = len(nums)
b = a
c = 0
for i in range(a):
b += i
c += nums[i]
d = b - c
return d