LeetCode: Maximum Subarray

LeetCode: Maximum Subarray

Find the contiguous subarray within an array (containing at least one number) which has the largest sum.

For example, given the array [-2,1,-3,4,-1,2,1,-5,4], the contiguous subarray [4,-1,2,1] has the largest sum = 6.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class MaximumSubarray {
public int maxSubArray(int[] nums) {
if (nums.length == 0) {
return 0;
}
int tmp = nums[0];
int result = nums[0];
for (int i = 1; i < nums.length; i++) {
tmp = Math.max(nums[i] + tmp, nums[i]);
result = Math.max(result, tmp);
}
return result;
}
}