Упражнения PHP: Найти максимальную сумму смежной подпоследовательности из заданной последовательности чисел a1, a2, a3, ... an
PHP: упражнение 57 с решением
Напишите программу PHP, чтобы найти максимальную сумму непрерывной подпоследовательности из заданной последовательности чисел a1, a2, a3, ... an. Подпоследовательность одного элемента также является непрерывной подпоследовательностью.
Входные данные: можно предположить, что 1 ≤ n ≤ 5000 и -100000 ≤ ai ≤ 100000.
Входные числа разделены пробелом.
Введите 0 для выхода.
Иллюстрированная презентация:
Пример решения: -
PHP-код:
<?php
while($line = fgets(STDIN)){
$n = intval($line);
if($n == 0){
break;
}
$arr = array();
$max_val = array();
for($i = 0; $i < $n; $i++){
$x = intval(fgets(STDIN));
$arr[$i] = 0;
$max_val[$i] = -1000000;
for($j = 0; $j <= $i; $j++){
$arr[$j] += $x;
if($max_val[$j] < $arr[$j]){
$max_val[$j] = $arr[$j];
}
}
}
echo max($max_val)."\n";
}
?>
Пример ввода:
6
-4
-2
5
3
8
Пример вывода:
16
Блок - схема:
Редактор кода PHP:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу PHP, чтобы проверить, параллельны ли две линии PQ и RS.
Четырьмя точками являются P (x1, y1), Q (x2, y2), R (x3, y3), S (x4, y4).
Далее: написать программу PHP для проверки указанной окружности пересечения C1 и C2.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования