Проблема: вам нужно найти самый длинный вложенный массив с нечетной суммой в данном массиве целых чисел, но сложность по времени и вспомогательному пространству должны быть лучшими.
Я пытался обойти массив с циклом while и двумя переменными для индексов (low, high while (low <= high) ...), но у меня не было хороших ответов каждый раз ... </p>
Я пробовал это: (сумма является общей суммой массива)
while (low <= high) {
if((sum - a[low]) % 2 != 0)
return (high - low);
else if((sum - a[high]) % 2 != 0)
return (high - low);
else{
if((sum - a[low]) % 2 == 0){
sum -= a[low];
low++;
}
if((sum - a[high]) % 2 == 0){
sum -= a[high];
high--;
}
}
}
Для {2, 2, 2, 1, 1, 2, 2, 2, 2}
Я ожидаю выхода 5
но я получаю 2