Недавно я решаю некоторые проблемы CodeWars, и у меня есть проблема с этим.
"Вам дан массив (который будет иметь длину не менее 3, но может быть очень большим), содержащий целые числа. Массив либо целиком состоит из нечетных целых чисел, либо полностью состоит из четных целых, за исключением одного целого числа N . Напишите метод, который принимает массив в качестве аргумента и возвращает этот "выброс" N. "
Я посмотрел на некоторые решения, которые уже есть на нашем сайте, но я хочу решить проблему, используя мой собственный подход.
Основная проблема в моем коде, похоже, в том, что он игнорирует отрицательные числа, хотя я реализовал метод Math.abs () в scala.
Если у вас есть идея, как обойти это, это более чем приветствуется.
Большое спасибо
object Parity {
var even = 0
var odd = 0
var result = 0
def findOutlier(integers: List[Int]): Int = {
for (y <- 0 until integers.length) {
if (Math.abs(integers(y)) % 2 == 0)
even += 1
else
odd += 1
}
if (even == 1) {
for (y <- 0 until integers.length) {
if (Math.abs(integers(y)) % 2 == 0)
result = integers(y)
}
} else {
for (y <- 0 until integers.length) {
if (Math.abs(integers(y)) % 2 != 0)
result = integers(y)
}
}
result
}