如何实现求给定数组中的和最大的连续子数组
function get_max_value($arr) {
$max_sum=0;//最大的值
$max_start=0;//和最大子数组开始下标
$max_end=0;//和最大的子数组结束下标
$length=count($arr)-1;//数组最大下标
for ($i=0;$i<=$length;$i++){
$sum=0;//初始化
for ($j=$i;$j<=$length;$j++){
$sum+=$arr[$j];
if ($sum>$max_sum){
$max_sum=$sum;
$max_start=$i;
$max_end=$j;
}
}
}
return array_slice($arr, $max_start, ($max_end-$max_start+1));//返回结果数组
}
实际上主要的是用到了冒泡算法