题目描述
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

解题思路

动态规划转移方程: f(i)=max{f(i−1)+nums[i],nums[i]}

    static int maxSubArray(int[] nums) {
        int max = 0;
        for (int i = 0; i < nums.length; i++) {
            max = Math.max(max + nums[i], nums[i]);
            nums[i] = max;
        }
        Arrays.sort(nums);
        return nums[nums.length-1];
    }

Q.E.D.