41 lines
921 B
Python
41 lines
921 B
Python
|
"""
|
||
|
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
|
||
|
|