首页 > 其他分享 >求给定数组中所有子数组的最大和

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

时间:2023-03-01 17:55:11浏览次数:42  
标签:scan max 所有 扫描 给定 num 数组 nums1

解题思路:
$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;
}

标签:scan,max,所有,扫描,给定,num,数组,nums1
From: https://www.cnblogs.com/wujf-myblog/p/17169183.html

相关文章