Largest Sum Contiguous Subarray Java
PROGRAM TO FIND SUM OF CONTIGUOUS SUBARRAY WITHIN A ONE-DIMENSIONAL ARRAY OF NUMBERS WHICH HAS THE LARGEST SUM USING KADANE'S ALGORITHM
OUTPUT
Maximum contiguous sum is 7
import
java.io.*;
import
java.util.*;
class
Kadane
{
public
static
void
main (String[] args)
{
int
[] a = {-
2
, -
3
,
4
, -
1
, -
2
,
1
,
5
, -
3
};
System.out.println(
"Maximum contiguous sum is "
+
maxSubArraySum(a));
}
static
int
maxSubArraySum(
int
a[])
{
int
size = a.length;
int
max_so_far = Integer.MIN_VALUE, max_ending_here =
0
;
for
(
int
i =
0
; i < size; i++)
{
max_ending_here = max_ending_here + a[i];
if
(max_so_far < max_ending_here)
max_so_far = max_ending_here;
if
(max_ending_here <
0
)
max_ending_here =
0
;
}
return
max_so_far;
}
}
Maximum contiguous sum is 7
Comments
Post a Comment