题目 分析 刚开始考虑的是当前值的正负对结果的影响,好愚蠢的想法啊。应该是考虑加上当前值后的和的正负,还好我机智。(-_- 代码 class Solution { public int maxSubArray(int[] nums) { // 只要前面的数大于0 就继续保留 int ans=-Integer.MAX_VALUE; int sum=0; for(int i=0;i<nums.length;i++){ sum=sum+nums[i]; if(sum>ans) ans=sum; if(sum<0) sum=0; } return ans; } }