Arreglos opuestos

Dados dos arreglos de la misma longitud, devuelve si son arreglos opuestos. Entre ambos arreglos debe haber exactamente dos valores distintos. En cada posición, un arreglo debe contener uno de esos valores y el otro debe contener el valor restante.

Ejemplos

Program.isAntiArray(new Object[] { "1", "0", "0", "1" }, new Object[] { "0", "1", "1", "0" }) ➞ true

Program.isAntiArray(new Object[] { "apples", "bananas", "bananas" }, new Object[] { "bananas", "apples", "apples" }) ➞ true

Program.isAntiArray(new Object[] { 3.14, true, 3.14 }, new Object[] { 3.14, false, 3.14 }) ➞ false

Notas

Los valores pueden tener distintos tipos en tiempo de ejecución.