文章 PHP php算法-找到数组中连续最大的值并返回

php算法-找到数组中连续最大的值并返回

发布时间:2021-12-16 14:06:40编辑:admin

$arr = [-1,1,-3,4,-1,2,1,-5,-4];
  echo FindMaxSumByArray($arr);
  function FindMaxSumByArray($array)
  {
      $sum=[];
      $sum[0]=0;
      $index=1;
      $temp_sum=0;
      foreach($array as $key=>$val){
          $temp_sum+=$val;
          $sum[$index]=$temp_sum;
          $index++;
      }
      $max=-999999999999;
      for($i=0;$i<count($sum)-1;$i++){
          for($j=$i+1;$j<=count($sum)-1;$j++){
              if($sum[$j]-$sum[$i]>$max) {
                  $max=$sum[$j]-$sum[$i];
              }
          }
      }
      return $max;
  }

   面试过程中遇到的一道题,此算法是时间复杂度是O(n*n)。如果有小伙伴能有更好的算法。欢迎在评论区留言讨论。