Упражнения с массивами Java: найдите непрерывный подмассив в заданном массиве целых чисел, который имеет наибольшую сумму

Массив 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, чтобы найти подмассив, который имеет наибольшую сумму в данном круговом массиве целых чисел.

Оцените статью
nanomode.ru
Добавить комментарий