https://leetcode.com/problems/missing-number/
sum([0,1,2,3]) - sum([3,0,1]) = 2 2がない数字なので、2が残る。
最初に result に len(nums) を代入する。 nums が [3,0,1] の場合、 result に 3 が代入される。
これは for で回す時に range(len(nums)) だと 0, 1, 2 としかならないため。 result に len(nums) の代入が必要。
result += (i - nums[i]) をすることで、2 が return 出来る。
Time complexity: O(n) Mem complexity: O(1)
class Solution(object):
def missingNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
result = len(nums)
for i in range(len(nums)):
result += (i - nums[i])
return result