evantianx / CodeWars-Haskell

0 stars 0 forks source link

Find The Parity Outlier #8

Open evantianx opened 6 years ago

evantianx commented 6 years ago

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

[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)
evantianx commented 6 years ago

Solutions

import Data.List

findOutlier :: [Int] -> Int
findOutlier = go . partition even
              where go ((x:xs), (y:ys)) | null xs = x
                                        | null ys = y