题目
解析
- 用cur记录当前数组和(只要cur大于0,就对求最大累加和有正向的贡献)
- arrmax记录最大cur
class Solution {
public:
/**
* max sum of the subarray
* @param arr int整型vector the array
* @return int整型
*/
int maxsumofSubarray(vector<int>& arr) {
// write code here
//动态规划
int len=arr.size();
if(len==0)return -1;
int cur=0,arrmax=arr[0];
for(int i=0;i<len;++i){
cur+=arr[i];
arrmax=max(cur,arrmax);
cur=cur<0?0:cur;
}
return arrmax;
}
};

博客围绕子数组的最大累加和问题展开,该问题来自牛客网。解析部分采用动态规划方法,用cur记录当前数组和,只要cur大于0就对求最大累加和有正向贡献,同时用arrmax记录最大的cur值。
474

被折叠的 条评论
为什么被折叠?



