剑指offer第2版--面试题42:连续子数组的最大和--动态规划解法

试题地址

#include
#include
#include

using namespace std;

int main()
{
    int n;
    cin>>n;
    vector<int> data(n);
    vector<int> dp(n+1);
    dp[0]= 0;
    for (int i=0;i<n;i++)
        cin>>data[i];
    for (int i=1;i<=n;i++)
        dp[i] = max(data[i-1], dp[i-1]+data[i-1]);
    make_heap(dp.begin()+1, dp.end());
    cout<<dp[1];
}

你可能感兴趣的:(剑指offer备忘)