求一个整数数组中和最大的连续子数组,例如:[1, 2, -4, 4, 10, -3, 4, -5, 1]的最大连续子数组是[4, 10, -3, 4](需写明思路,并编程实现)
-
$arr = [ 1 , 2 , -4 , 4 , 10 , -23 , 4 , -5 , 1];
-
-
$max_sum = 0;
-
$sum= 0;
-
$new = [];
-
$i = 1;
-
echo '<pre/>';
-
foreach( $arr as $key => $value ){
-
if($sum< 0){
-
unset($new[$i]);
-
$i++;
-
$sum=$value;
-
} else{
-
$sum+=$value;
-
}
-
$new[$i][] = $value;
-
-
if($max_sum<$sum){
-
$max_arr = $new;
-
$max_sum=$sum;
-
}
-
-
}
-
-
print_r($max_sum);
-
print_r($max_arr);
-
exit;