leetcode-53. 最大子数组和
题目
解法
dp
- 第一版写的时候,可以加一个 dp 数组,保存每个节点的最大值
dp
公式
\[f_n=
\begin{cases}
max(nums[n]+f_{n-1}, nums[n]) & n>=1 \\
nums[n], & n=0
\end{cases}
\]
class Solution {
/**
* @param Integer[] $nums
* @return Integer
*/
function maxSubArray($nums) {
$len = count($nums);
if ($len == 1) {
return $nums[0];
}
$currentMaxSum = $nums[0];
$max = $nums[0];
for ($i=1; $i < $len; $i++) {
$currentMaxSum = max($currentMaxSum + $nums[$i], $nums[$i]);
$max = max($currentMaxSum, $max);
}
return $max;
}
}
本文来自博客园,作者:吴丹阳-V,转载请注明原文链接:https://www.cnblogs.com/wudanyang/p/15778819.html