PHP练习-最大子序和

2020-09-10 22:14 By "Powerless" 2666 0 1

题目要求

给定一个整数数组 arr,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

function maxSubArray($arr) {
    if (!count($arr)) {
        return 0;
    }
    $dp[0] = $result = reset($arr);
    for ($i = 1; $i < count($arr); $i++) {
        $tmp = $dp[$i-1]+$arr[$i];
        $dp[$i] = $tmp > $arr[$i] ? $tmp : $arr[$i];
        $result = $dp[$i] > $result ? $dp[$i] : $result;
    }
    return $result;
}
$arr = [-2,8,-3,4,-1,2,1,-5,4];

echo maxSubArray($arr);

输出结果:11

评 论

View in WeChat

Others Discussion

  • 浏览器访问网站经历的步骤-Html
    Posted on 2018-11-28 18:48
  • TCP协议的特性
    Posted on 2019-04-26 16:46
  • HTTP头中隐藏PHP版本号
    Posted on 2021-01-11 16:38
  • Composer 异常 [ErrorException]
    Posted on 2019-11-25 17:55
  • PHP练习-移动数组内的0到最后并保持其他元素顺序不变
    Posted on 2020-08-14 20:32
  • 能创建多少个 TCP 连接?
    Posted on 2021-08-02 16:00
  • Mysql联合索引的最左前缀匹配原则
    Posted on 2018-08-25 15:00
  • PHP没你想的那么差
    Posted on 2021-12-17 15:40