Maximum Sum Increasing Subsequence Java
PROGRAM TO FIND THE MAXIMUM SUM INCREASING SUBSEQUENCE
OUTPUT:
Sum of maximum sum increasing subsequence is 106
class
GFG
{
/* maxSumIS() returns the
maximum sum of increasing
subsequence in arr[] of size n */
static
int
maxSumIS(
int
arr[],
int
n)
{
int
i, j, max =
0
;
int
msis[] =
new
int
[n];
/* Initialize msis values
for all indexes */
for
(i =
0
; i < n; i++)
msis[i] = arr[i];
/* Compute maximum sum values
in bottom up manner */
for
(i =
1
; i < n; i++)
for
(j =
0
; j < i; j++)
if
(arr[i] > arr[j] &&
msis[i] < msis[j] + arr[i])
msis[i] = msis[j] + arr[i];
/* Pick maximum of all
msis values */
for
(i =
0
; i < n; i++)
if
(max < msis[i])
max = msis[i];
return
max;
}
// Driver code
public
static
void
main(String args[])
{
int
arr[] =
new
int
[]{
1
,
101
,
2
,
3
,
100
,
4
,
5
};
int
n = arr.length;
System.out.println(
"Sum of maximum sum "
+
"increasing subsequence is "
+
maxSumIS(arr, n));
}
}
Sum of maximum sum increasing subsequence is 106
Comments
Post a Comment