此题本质上并不是一道正儿八经的动态规划题。
不需要分治,从头扫到尾,记住一些状态变量即可轻松完成。
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;
} 
京公网安备 11010502036488号