Skip to content

Find The Parity Outlier

You are given an array (which will have a length of at least 3, but could be very large) containing integers. The array is either entirely comprised of odd integers or entirely comprised of even integers except for a single integer N. Write a method that takes the array as an argument and returns this "outlier" N.

Example

[2, 4, 0, 100, 4, 11, 2602, 36]
Should return: 11 (the only odd number)

[160, 3, 1719, 19, 11, 13, -21]
Should return: 160 (the only even number)

Solution

py
def find_the_parity_outlier(integers):
    even = []
    odd = []
    for i in integers:
        if i % 2 == 0:
            even.append(i)
        else:
            odd.append(i)

        if len(even) > 0 and len(odd) > 0 and (len(even) != len(odd)):
            break

    return even[0] if len(even) == 1 else odd[0]


print(find_the_parity_outlier([2, 4, 0, 100, 4, 11, 2602, 36]))

my thoughts are neither my employer's nor my wife's