Массив Java: Упражнение 66 с решением
Напишите программу на Java, чтобы найти непрерывный подмассив в заданном массиве целых чисел с наибольшей суммой.
В информатике проблема подмассива максимальной суммы — это задача найти непрерывный подмассив с наибольшей суммой в заданном одномерном массиве A [1 … n] чисел. Формально задача состоит в том, чтобы найти индексы и с такими, чтобы сумма была как можно больше.
Пример:
Ввод:
int [] A = { 1, 2, -3, -4, 0, 6, 7, 8, 9}
Вывод:
Наибольшая сумма смежных подмассивов: 30
Пример решения :
Код Java:
импорт java .util.Arrays; решение класса {общедоступный статический int large_sum (int [] A) {int max_ele_val = 0; int max_end = 0; for (int i: A) {max_end = max_end + i; max_end = Integer.max (max_end , 0); max_ele_val = Integer.max (max_ele_val, max_end);} return max_ele_val;} public static void main (String [] args) {int [] A = {1, 2, -3, -4, 0, 6 , 7, 8, 9}; System.out.println (" nОригинальный массив:" + Arrays.toString (A)); System.out.println ("Наибольшая сумма смежных подмассивов:" + наибольшая_сумма (A ));}}
Пример вывода:
Исходный массив: [1, 2, -3, -4, 0, 6, 7, 8, 9] Наибольшая сумма непрерывных подмассивов: 30
Блок-схема:
Назад: Напишите программу на Java, чтобы найти максимальную разницу между двумя элементами в заданном массиве целых чисел, чтобы меньший элемент появлялся перед большим элементом.
Далее: Напишите программу на Java, чтобы найти подмассив, который имеет наибольшую сумму в данном круговом массиве целых чисел.