题解 | #子数组的最大累加和问题#
子数组的最大累加和问题
http://www.nowcoder.com/practice/554aa508dd5d4fefbf0f86e5fe953abd
此题本质上并不是一道正儿八经的动态规划题。
不需要分治,从头扫到尾,记住一些状态变量即可轻松完成。
int maxsumofSubarray(int* arr, int arrLen ) {
int curSum = 0;
int maxSum = 0;
for (int i = 0; i < arrLen; i++)
{
if (curSum <= 0)
{
curSum = arr[i];
}
else
{
curSum += arr[i];
}
if (maxSum < curSum)
{
maxSum = curSum;
}
}
return maxSum;
}
查看14道真题和解析