Существует массив целых чисел (как положительных, так и отрицательных). Пожалуйста, советьте алгоритм, который даст вам подмассиву с максимальной суммой. Пример:Алгоритм извлечения подмассива из целочисленного массива, который содержит максимальное суммирование
int a[] = new int[]{2,3,-1,4,5,7,8,13,-20};
, то ответ должен быть {4,5,7,8,13}
, как 4 + 5 + 7 + 8 + 13 = 37
.
Я не могу разработать алгоритм для этой проблемы.
Вы пытаетесь Подмножество из определенного количества номеров? –
Без дополнительных ограничений это тривиально. Просто добавьте все положительные элементы массива. Если нет положительных значений, сумма равна 0 (пустое подмножество) или единому максимальному элементу (1 элемент подмножества) в зависимости от требований. Но в этом случае непонятно, почему {2, 3} исключены из результата. Может быть, вы имеете в виду подпоследовательность ** упорядоченного массива? – Jarlax
Jarlax: Assum of {2,3} равен 5. Но сумма {4,5,7,8,13} равна 37 и 37> 5. –