codility-exercises/tc1.py

41 lines
921 B
Python
Raw Normal View History

2020-05-10 03:14:42 +02:00
"""
An array A consisting of N different integers is given. The array
contains integers in the range [1..(N + 1)], which means that exactly
one element is missing.
Your goal is to find that missing element.
Write a function:
class Solution { public int solution(int[] A); }
that, given an array A, returns the value of the missing element.
For example, given array A such that:
A[0] = 2
A[1] = 3
A[2] = 1
A[3] = 5
the function should return 4, as it is the missing element.
Write an efficient algorithm for the following assumptions:
N is an integer within the range [0..100,000];
the elements of A are all distinct;
each element of array A is an integer within the range [1..(N + 1)].
"""
def solution(A):
last = len(A) + 1
S = set(A)
if last == 1 or last not in S:
return last
for x in range(1, last):
if x not in S:
return x