题解 | #子数组的最大累加和问题#

子数组的最大累加和问题

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;
}


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务