public int maxSubArray(int[] A) {
int ans = A[0];
int max = 0;
for (int i = 0; i < A.length; i++) {
max += A[i];
if(max > ans) ans = max;
if(max < 0) max = 0;
}
return ans;
}
思路:其实对于这个题目来讲,计算最大的子数组,通过一次遍历就可以完成
如果计算出来的和小于0,那么必定要重新开始计算
对于计算出来的和,都进行一次比较,记录最大的,最后返回