Упражнения на Java: найдите максимальную сумму смежной подпоследовательности из заданной последовательности чисел
Java Basic: упражнение 223 с решением
Напишите программу на Java, чтобы найти максимальную сумму смежной подпоследовательности из заданной последовательности чисел a1, a2, a3, ... an. Подпоследовательность одного элемента также является непрерывной подпоследовательностью.
Входные данные :
Можно предположить, что 1 ≤ n ≤ 5000 и -100000 ≤ ai ≤ 100000.
Входные числа разделены пробелом.
Введите 0 для выхода.
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.*;
public class Main {
public static void main(String [] args) {
Scanner s = new Scanner(System.in);
System.out.println("How many integers would you like to input?");
int n = s.nextInt();
int ans = -100000;
int acc = 0;
System.out.println("Input the integers:");
for (int i=0;i<n;i++) {
acc += s.nextInt();
ans = Math.max(ans, acc);
if (acc < 0) acc = 0;
}
System.out.println("Maximum sum of the said contiguous subsequence:");
System.out.println(ans);
}
}
Пример вывода:
Сколько целых чисел вы бы хотели ввести? 5 Введите целые числа: 25 61 35 42 66 Максимальная сумма указанной смежной подпоследовательности: 229
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Java, чтобы проверить, параллельны ли две линии PQ и RS. Четырьмя точками являются P (x1, y1), Q (x2, y2), R (x3, y3), S (x4, y4).
Далее: Напишите программу на Java, чтобы найти максимальную сумму смежной подпоследовательности из заданной последовательности чисел a1, a2, a3, ... an. Подпоследовательность одного элемента также является непрерывной подпоследовательностью.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования