PHP练习-最大子序和

2020-09-10 22:14 By "Powerless" 2571 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

  • 分布式服务限流
    Posted on 2020-02-07 18:57
  • 有状态服务VS无状态服务
    Posted on 2020-02-07 18:18
  • 企业级PAAS云平台几个关键问题和挑战
    Posted on 2019-06-12 18:33
  • MySQL 单库后期分库策略
    Posted on 2019-08-19 14:31
  • Redis七大经典问题
    Posted on 2021-05-27 11:14
  • 关于HTTPS的五大误区
    Posted on 2020-02-02 01:10
  • PHP实现精确发布时间
    Posted on 2018-12-06 21:00
  • 为什么要测量尾部延迟
    Posted on 2020-09-18 10:34

1.218269s