Max Sum Path Python
- Get link
- X
- Other Apps
PROGRAM TO FIND THE SUM OF THE MAXIMUM SUM PATH TO REACH FROM BEGINNING OF ANY ARRAY TO END OF ANY OF THE TWO ARRAYS.
# This function returns the sum of elements on maximum path from
# beginning to end
def
maxPathSum(ar1,ar2 , m , n):
# initialize indexes for ar1[] and ar2[]
i, j
=
0
,
0
# Initialize result and current sum through ar1[] and ar2[]
result, sum1, sum2
=
0
,
0
,
0
# Below 3 loops are similar to merge in merge sort
while
(i < m
and
j < n):
# Add elements of ar1[] to sum1
if
ar1[i] < ar2[j]:
sum1
+
=
ar1[i]
i
+
=
1
# Add elements of ar2[] to sum1
elif
ar1[i] > ar2[j]:
sum2
+
=
ar2[j]
j
+
=
1
else
:
# we reached a common point
# Take the maximum of two sums and add to result
result
+
=
max
(sum1,sum2)
# Update sum1 and sum2 for elements after this intersection point
sum1, sum2
=
0
,
0
# Keep updating result while there are more common elements
while
(i < m
and
j < n
and
ar1[i]
=
=
ar2[j]):
result
+
=
ar1[i]
i
+
=
1
j
+
=
1
# Add remaining elements of ar1[]
while
i < m:
sum1
+
=
ar1[i]
i
+
=
1
# Add remaining elements of b[]
while
j < n:
sum2
+
=
ar2[j]
j
+
=
1
# Add maximum of two sums of remaining elements
result
+
=
max
(sum1,sum2)
return
result
# Driver function
ar1
=
[
2
,
3
,
7
,
10
,
12
,
15
,
30
,
34
]
ar2
=
[
1
,
5
,
7
,
8
,
10
,
15
,
16
,
19
]
m
=
len
(ar1)
n
=
len
(ar2)
print
"Maximum sum path is"
, maxPathSum(ar1, ar2, m, n)
OUTPUT
Maximum sum path is 122
- Get link
- X
- Other Apps
Comments
Post a Comment