C++ code : int maxPathSum(vector &arr1, vector &arr2) { // Code here int n = arr1.size(); int m = arr2.size(); int sum1 = 0; int sum2 = 0; int i = 0; int j = 0; int ans = 0; while (i < n && j < m) { if (arr1[i] < arr2[j]) { sum1 += arr1[i++]; } else if (arr1[i] > arr2[j]) { sum2 += arr2[j++]; } else { ans += std::max(sum1, sum2) + arr1[i]; ++i; ++j; sum1 = 0; sum2 = 0; } } while (i < n) { sum1 += arr1[i++]; } while (j < m) { sum2 += arr2[j++]; } ans += std::max(sum1, sum2); return ans; }
C++ code :
int maxPathSum(vector &arr1, vector &arr2) {
// Code here
int n = arr1.size();
int m = arr2.size();
int sum1 = 0;
int sum2 = 0;
int i = 0;
int j = 0;
int ans = 0;
while (i < n && j < m) {
if (arr1[i] < arr2[j]) {
sum1 += arr1[i++];
} else if (arr1[i] > arr2[j]) {
sum2 += arr2[j++];
} else {
ans += std::max(sum1, sum2) + arr1[i];
++i;
++j;
sum1 = 0;
sum2 = 0;
}
}
while (i < n) {
sum1 += arr1[i++];
}
while (j < m) {
sum2 += arr2[j++];
}
ans += std::max(sum1, sum2);
return ans;
}
JAVA Code :
public int maxPathSum(List arr1, List arr2) {
// code here
int n = arr1.size();
int m = arr2.size();
int i = 0;
int j = 0;
int sum1 = 0;
int sum2 = 0;
int ans= 0;
while(i < n && j < m){
if(arr1.get(i) < arr2.get(j)){
sum1 += arr1.get(i++);
}
else if(arr2.get(j) < arr1.get(i)){
sum2 += arr2.get(j++);
}
else{
ans += Math.max(sum1, sum2) + arr1.get(i);
i++;
j++;
sum1 = 0;
sum2 = 0;
}
}
while(i < n){
sum1 += arr1.get(i++);
}
while(j < m){
sum2 += arr2.get(j++);
}
ans += Math.max(sum1, sum2);
return ans;
}
daily post the video sir
@@chiralajayasri7139 sure will try my best!