剑指offer 连续子数组的最大和

 简单动态规划:dp[i]是以位置i结束的最大和,动态转移方程dp[i] = max(dp[i-1]+array[i], array[i]),dp中的最大值即是结果。

class Solution {
public:
    int FindGreatestSumOfSubArray(vector<int> array) {
        int dp[array.size()+5];
        dp[0] = array[0];
        int maxx = array[0];
        for(int i = 1; i < array.size(); i++){
            dp[i] = max(dp[i-1] + array[i], array[i]);
            maxx = max(maxx, dp[i]);
        }
        return maxx;
    }
};
原文地址:https://www.cnblogs.com/Xycdada/p/13986756.html