- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMaximumSubArray.java
More file actions
Latest commit
23 lines (21 loc) · 695 Bytes
/
Copy pathMaximumSubArray.java
File metadata and controls
23 lines (21 loc) · 695 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
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.
*/
publicclassSolution {
publicintmaxSubArray(int[] nums) {
int[] f = newint[nums.length];
f[0] = nums[0];
for (inti = 1; i < nums.length; i++) {
f[i] = Math.max(f[i-1] + nums[i], nums[i]);
}
intmax = - Integer.MAX_VALUE;
for (inti = 0; i < f.length; i++) {
if (max < f[i]) {
max = f[i];
}
}
returnmax;
}
}