题解 | #子数组的最大累加和问题#Java最易懂版本
子数组的最大累加和问题
http://www.nowcoder.com/practice/554aa508dd5d4fefbf0f86e5fe953abd
1 累加的前提是 前面累加的和必须大于0,否则没有必要加上前面数组的数
2 不需要dp数组来保存,只需要将数组中的值进行累加即可
public int maxsumofSubarray (int[] arr) {
// write code here
int res = arr[0];
if(arr.length == 0)return -1;
if(arr.length == 1)return res;
for(int i = 1;i < arr.length;i++){
arr[i] += Math.max(arr[i-1],0);
res = Math.max(res,arr[i]);
}
return res;
}