非独立思考

    1. class Solution {
    2. public int maxSubArray(int[] nums) {
    3. if (nums.length == 1) {
    4. return nums[0];
    5. }
    6. int pre = 0;
    7. int res = nums[0];
    8. for (int num : nums) {
    9. // 之前的最大值加上当前的值大,还是当前的值大。
    10. pre = Math.max(pre + num, num);
    11. // 之前的结果与之前的最大值(经过上一行就是当前最大值)比较
    12. res = Math.max(res, pre);
    13. }
    14. return res;
    15. }
    16. }