现阶段的最大值等于max(前一位的最大值➕本身 , 本身)
public class Solution {
/**
* @param nums: A list of integers
* @return: A integer indicate the sum of max subarray
*/
public int maxSubArray(int[] nums) {
// write your code here
if (nums.length == 1) {
return nums[0];
}
int len = nums.length;
Integer[] sums = new Integer[len];
sums[0] = nums[0];
int max = sums[0];
for (int i = 1; i < len; i++) {
sums[i] = Math.max(sums[i-1] + nums[i], nums[i]);
if(sums[i] > max){
max = sums[i];
}
}
return max;
}
}
No comments:
Post a Comment