Signature
def missing_number(numbers):
Test Code
import random
def test():
for n in range(1, 101):
numbers = list(range(n))
real_missing_number = random.randrange(n)
numbers = [number for number in numbers if number != real_missing_number]
random.shuffle(numbers)
result = missing_number(numbers)
assert result == real_missing_number, f"Test failed for {n=}. Expected {real_missing_number}, got {result} for {numbers=}"
if __name__ == "__main__":
test()
Description
Given an array of length n - 1 containing distinct numbers from 0 to n - 1 with one number missing, find the missing number.
Submit a Solution
Fastest Solutions
def missing_number(numbers): # numbers: list of [0..n-1] except one, length n-1
n = len(numbers) + 1 # how many items there should be
return n * (n - 1) // 2 - sum(numbers) # missing = expected − got
def missing_number(numbers): # numbers: list of [0..n-1] except one, length n-1
n = len(numbers) + 1 # how many items there should be
return n * (n - 1) // 2 - sum(numbers) # missing = expected − got
New Solutions
def missing_number(numbers): # numbers: list of [0..n-1] except one, length n-1
n = len(numbers) + 1 # how many items there should be
return n * (n - 1) // 2 - sum(numbers) # missing = expected − got
def missing_number(numbers): # numbers: list of [0..n-1] except one, length n-1
n = len(numbers) + 1 # how many items there should be
return n * (n - 1) // 2 - sum(numbers) # missing = expected − got