#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int maxSubArrSum(vector<int> arr)
{
if (arr.empty())
return 0;
int tMax = arr[0];
int maxSum = tMax;
for (int i = 1; i < arr.size(); i++)
{
tMax = max(tMax + arr[i], arr[i]);
maxSum = tMax > maxSum ? tMax : maxSum;
}
return maxSum;
}
int main()
{
//读取数组
cout << maxSubArrSum({ 1,-2,3,7,-5,8,-2,1 }) << endl;
return 0;
}
话到嘴边就不想说了,没事锻炼动态规划思想,顺手了这个吧。