Question: 
Write a python function to find the smallest missing number from the given array.


Model's Code:
def find_First_Missing(arr, low, high):
    num_set = set(arr)
    for i in range(low, high + 1):
        if i not in num_set:
            return i
    return high + 1



Sample Correct Code:
def find_First_Missing(array,start,end): 
    if (start > end): 
        return end + 1
    if (start != array[start]): 
        return start; 
    mid = int((start + end) / 2) 
    if (array[mid] == mid): 
        return find_First_Missing(array,mid+1,end) 
    return find_First_Missing(array,start,mid) 


Asserts:
assert find_First_Missing([0,1,2,3],0,3) == 4
assert find_First_Missing([0,1,2,6,9],0,4) == 3
assert find_First_Missing([2,3,5,8,9],0,4) == 0


Tests:
Test 1 of 3: PASS
Test 2 of 3: PASS
Test 3 of 3: PASS

Test 627 of 974: 467/627 (74.48165869218501%): success