[6kyu][algorithms] Find The Parity Outlier solution

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.
main
Vasily Guzov 1 year ago
parent 076c7e90dc
commit c5a12704c3

@ -0,0 +1,26 @@
import { describe, it, expect } from "vitest";
import { findOUtlier } from "./findOUtlier.ts";
describe("findOUtlier", () => {
it("findOUtlier should be 1 for [0, 1, 2]", () => {
expect(findOUtlier([0, 1, 2])).toEqual(1);
});
it("findOUtlier shoud return 2 for [1, 2, 3]", () => {
expect(findOUtlier([1, 2, 3])).toEqual(2)
});
it("findOUtlier shoud return 3 for [2, 6, 8, 10, 3]", () => {
expect(findOUtlier([2, 6, 8, 10, 3])).toEqual(3)
});
it("findOUtlier shoud return 3 for [0, 0, 3, 0, 0]", () => {
expect(findOUtlier([0, 0, 3, 0, 0])).toEqual(3)
});
it("findOUtlier shoud return 0 for [1, 1, 0, 1, 1]", () => {
expect(findOUtlier([1, 1, 0, 1, 1])).toEqual(0)
});
});

@ -0,0 +1,19 @@
// 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.
//
//
// [2, 4, 0, 100, 4, 11, 2602, 36] --> 11 (the only odd number)
// [160, 3, 1719, 19, 11, 13, -21] --> 160 (the only even number)
//
//
export function findOUtlier(integers: number[]): number {
const isEvenNum = integers.filter(num => num % 2 == 0);
const isOddNum = integers.filter(num => num % 2 != 0);
return isEvenNum.length == 1 ? Number(isEvenNum) : Number(isOddNum);
};

@ -0,0 +1,3 @@
import { findOUtlier } from "./findOUtlier";
export default findOUtlier;
Loading…
Cancel
Save