Skip to content

Commit 8ddf876

Browse files
committed
add solution of problem 53: Maximum Subarray
1 parent 5d6a11d commit 8ddf876

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

MaximumSubarray53/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.
2+
3+
For example, given the array `[-2,1,-3,4,-1,2,1,-5,4]`,
4+
the contiguous subarray `[4,-1,2,1]` has the largest sum = `6`.

MaximumSubarray53/Solution.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
public class Solution {
2+
public int maxSubArray(int[] nums) {
3+
if (nums == null || nums.length == 0)
4+
return 0;
5+
int sum = nums[0];
6+
int maxSum = sum;
7+
8+
for (int i = 1; i < nums.length; i++) {
9+
if (sum < 0) {
10+
sum = nums[i];
11+
} else {
12+
sum += nums[i];
13+
}
14+
15+
if (maxSum < sum) {
16+
maxSum = sum;
17+
}
18+
}
19+
20+
return maxSum;
21+
}
22+
}

0 commit comments

Comments
 (0)