class Solution {
public int maxSubArray(int[] nums) {
//f[i]是以nums[i]结尾的连续子数组的最大和。
int f[] = new int[100010];
f[0] = nums[0];
int res=nums[0];
for(int i=1;i<nums.length;i++){
f[i] = Math.max(f[i-1]+nums[i],nums[i]);
res = Math.max(res,f[i]);
}
return res;
}
}