Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array.
For example,
Given nums = [0, 1, 3] return 2.
Note:
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
题意:
给一个数组,包含n个离散的数字,这些数字是从0到n,但是有一个数字不在数组当中,找到这个数字
注意:
算法的时间复杂度为线性,思考如何保证空间复杂度为常数
思路:
用数学的方法找
参考:
http://bookshadow.com/weblog/2015/08/24/leetcode-missing-number/
class Solution(object):
def missingNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
n=len(nums)
return n*(n+1)/2-sum(nums)