Max Sum Subarray of size K Java
- Get link
- X
- Other Apps
PROGRAM TO FIND MAXIMUM SUM OF A SUBARRAY OF SIZE K
import
java.util.*;
class
MAIN {
// Returns maximum sum in a subarray of size k.
public
static
int
maxSum(
int
arr[],
int
n,
int
k)
{
// k must be greater
if
(n < k)
{
System.out.println(
"Invalid"
);
return
-
1
;
}
// Compute sum of first window of size k
int
res =
0
;
for
(
int
i=
0
; i<k; i++)
res += arr[i];
// Compute sums of remaining windows by
// removing first element of previous
// window and adding last element of
// current window.
int
curr_sum = res;
for
(
int
i=k; i<n; i++)
{
curr_sum += arr[i] - arr[i-k];
res = Math.max(res, curr_sum);
}
return
res;
}
/* Driver program to test above function */
public
static
void
main(String[] args)
{
int
arr[] = {
1
,
4
,
2
,
10
,
2
,
3
,
1
,
0
,
20
};
int
k =
4
;
int
n = arr.length;
System.out.println(maxSum(arr, n, k));
}
}
OUTPUT:
24
- Get link
- X
- Other Apps
Comments
Post a Comment