# This problem was asked by Stripe.
#
# Given an array of integers, find the first missing positive integer in linear time
# and constant space. In other words, find the lowest positive integer that does not exist
# in the array. The array can contain duplicates and negative numbers as well.
#
# For example, the input [3, 4, -1, 1] should give 2. The input [1, 2, 0] should give 3.


def lowestPositiveNumber(input):
    for number in range(1,len(input) + 1):
        if number in input:
            continue
        else:
            return number
    return number


if __name__ == "__main__":
    input = [3, 4, -1, 1]
    print('out1 = ',lowestPositiveNumber(input))
    input = [1, 2, 0]
    print('out2 = ',lowestPositiveNumber(input))

