求给定数组中所有子数组的最大和

解题思路:
$nums1 = [-2,1,3,4,-19];
function maxHe($nums1){

 //先定义2个变量,一个是扫描值,一直是所求的最大值。我们初始都给所求数组的第一位
$scan_num = $nums1[0];
$max_num = $nums1[0];
//循环从第二位开始,因为第一位已经给定了初始值
for ($i = 1; $i < count($nums1); $i ++){
    //如果初始扫描值为负数,那么将扫描值重新指定成循环到的某个值
if($scan_num <= 0){
$scan_num = $nums1[$i];
}else{
      如果大于0,那么累计和
$scan_num += $nums1[$i];
}
    //最后比较,如果扫描值 大于初始定义的最大值,则最大值就是扫描值
if($scan_num > $max_num){
$max_num = $scan_num;
}
}
return $max_num;
}
posted @ 2023-03-01 17:49  龙卷风之殇  阅读(28)  评论(0)    收藏  举报