53. Maximum Subarray

求出数组的连续子序列之和,设定变量f用来记录当前的最大和,也就是取出max(i-1前面的已经累加的和,i的数值),而res是用来记录整个遍历过程中最大的f。

public int maxSubArray(int[] nums) {
    if (nums.length == 0 || nums == null) return 0;
    int f = nums[0], result = nums[0];
    for (int i = 1; i < nums.length; i++) {
        f = Math.max(f + nums[i], nums[i]);
        result = Math.max(result, f);
    }
    return result;
}

results matching ""

    No results matching ""