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`.

## Examples

```python
[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)
```

Difficulty: introductory

Starter code:

def find_outlier(integers):
	

Solutions:
def find_outlier(int):
    odds = [x for x in int if x%2!=0]
    evens= [x for x in int if x%2==0]
    return odds[0] if len(odds)<len(evens) else evens[0]


def find_outlier(integers):
  even, odd = 0, 0
  for i in integers:
    if i % 2:
      even += 1
      last_even = i
    else:
      odd += 1
      last_odd = i
  return last_even if even == 1 else last_odd


def find_outlier(integers):
    parity = [n % 2 for n in integers]
    return integers[parity.index(1)] if sum(parity) == 1 else integers[parity.index(0)]

def find_outlier(integers):
    parity = [n % 2 for n in integers]
    return integers[parity.index(sum(parity) == 1)]


def find_outlier(integers):
    listEven = []
    listOdd = []
    for n in integers:
        if n % 2 == 0:
            listEven.append(n)
        else:
            listOdd.append(n)
            
    if len(listEven) == 1:
        return listEven[0]
    else:
        return listOdd[0]

def find_outlier(nums):

  base_parity = sum( x%2 for x in nums[:3] ) // 2
  
  for i in range(len(nums)):
    if nums[i] % 2 != base_parity:
      return nums[i]

def find_outlier(integers):
    assert len(integers) >= 3

    bit = ((integers[0] & 1) +
           (integers[1] & 1) +
           (integers[2] & 1)) >> 1

    for n in integers:
        if (n & 1) ^ bit:
            return n

    assert False


def find_outlier(integers):
    assert len(integers) >= 3

    bit = integers[0] & 1

    if integers[1] & 1 != bit:
        return integers[integers[2] & 1 == bit]

    for n in integers:
        if n & 1 != bit:
            return n

    assert False


def find_outlier(integers):
    evens = [];
    odds = [];
    for each in integers:
        if each%2==0:
            evens.append(each)
        else:
            odds.append(each);
        if len(evens)>1 and len(odds)==1:
            return odds[0];
        elif len(odds)>1 and len(evens)==1:
            return evens[0];

def find_outlier(integers):
    determinant = [x for x in integers[:3] if x % 2 == 0]
    if len(determinant) > 1:
        # most are even, find the first odd
        mod = 1
    else:
        # most are odd, find the first even
        mod = 0
    for i in integers:
        if i % 2 == mod:
            return i

def find_outlier(num):
    odd = 0 if sum(n % 2 for n in num[:3]) > 1 else 1
    return next(n for n in num if n % 2 == odd)