Posted on by Kalkicode
Code Array

# Maximum prefix sum possible by merging two given arrays

Here given code implementation process.

``````/*
Java program for
Maximum prefix sum possible by merging two given arrays
*/
public class PrefixSum
{
public int maxPerfix(int[] record, int size)
{
int max = record[0];
for (int i = 1; i < size; ++i)
{
record[i] = record[i - 1] + record[i];
if (record[i] > max)
{
// Change prefix sum
max = record[i];
}
}
if (max < 0)
{
// Negative prefix are not suitable in given record
max = 0;
}
return max;
}
public void findMaxPerfix(int[] a, int b[], int n, int m)
{
int p1 = maxPerfix(a, n);
int p2 = maxPerfix(b, m);
// Result is combination of max perfix in given a and b
System.out.print(p1 + p2);
}
public static void main(String[] args)
{
int[] a = {
-4 , 5 , 1 , -3 , -5 , 2
};
int[] b = {
1 , 2 , -2 , 3 , -4 , 3 , 0
};
int n = a.length;
int m = b.length;
// [-4, 5, 1][1, 2, -2, 3]  longest max prefix in a and b
// [-4, 1, 5, 2, 1, -2, 3]  any merge combination
//  Sum : 6
}
}``````

#### Output

``6``
``````// Include header file
#include <iostream>
using namespace std;
/*
C++ program for
Maximum prefix sum possible by merging two given arrays
*/
class PrefixSum
{
public: int maxPerfix(int record[], int size)
{
int max = record[0];
for (int i = 1; i < size; ++i)
{
record[i] = record[i - 1] + record[i];
if (record[i] > max)
{
// Change prefix sum
max = record[i];
}
}
if (max < 0)
{
// Negative prefix are not suitable in given record
max = 0;
}
return max;
}
void findMaxPerfix(int a[], int b[], int n, int m)
{
int p1 = this->maxPerfix(a, n);
int p2 = this->maxPerfix(b, m);
// Result is combination of max perfix in given a and b
cout << p1 + p2;
}
};
int main()
{
int a[] = {
-4 , 5 , 1 , -3 , -5 , 2
};
int b[] = {
1 , 2 , -2 , 3 , -4 , 3 , 0
};
int n = sizeof(a) / sizeof(a[0]);
int m = sizeof(b) / sizeof(b[0]);
// [-4, 5, 1][1, 2, -2, 3]  longest max prefix in a and b
// [-4, 1, 5, 2, 1, -2, 3]  any merge combination
//  Sum : 6
return 0;
}``````

#### Output

``6``
``````// Include namespace system
using System;
/*
Csharp program for
Maximum prefix sum possible by merging two given arrays
*/
public class PrefixSum
{
public int maxPerfix(int[] record, int size)
{
int max = record[0];
for (int i = 1; i < size; ++i)
{
record[i] = record[i - 1] + record[i];
if (record[i] > max)
{
// Change prefix sum
max = record[i];
}
}
if (max < 0)
{
// Negative prefix are not suitable in given record
max = 0;
}
return max;
}
public void findMaxPerfix(int[] a, int[] b, int n, int m)
{
int p1 = this.maxPerfix(a, n);
int p2 = this.maxPerfix(b, m);
// Result is combination of max perfix in given a and b
Console.Write(p1 + p2);
}
public static void Main(String[] args)
{
int[] a = {
-4 , 5 , 1 , -3 , -5 , 2
};
int[] b = {
1 , 2 , -2 , 3 , -4 , 3 , 0
};
int n = a.Length;
int m = b.Length;
// [-4, 5, 1,1, 2, -2, 3]  longest max prefix in a and b
// [-4, 1, 5, 2, 1, -2, 3]  any merge combination
//  Sum : 6
}
}``````

#### Output

``6``
``````package main
import "fmt"
/*
Go program for
Maximum prefix sum possible by merging two given arrays
*/

func maxPerfix(record[] int, size int) int {
var max int = record[0]
for i := 1 ; i < size ; i++ {
record[i] = record[i - 1] + record[i]
if record[i] > max {
// Change prefix sum
max = record[i]
}
}
if max < 0 {
// Negative prefix are not suitable in given record
max = 0
}
return max
}
func findMaxPerfix(a[] int, b[] int, n int, m int) {
var p1 int =  maxPerfix(a, n)
var p2 int = maxPerfix(b, m)
// Result is combination of max perfix in given a and b
fmt.Print(p1 + p2)
}
func main() {

var a = [] int {-4, 5, 1, -3, -5, 2}
var b = [] int {1, 2, -2, 3, -4, 3, 0}
var n int = len(a)
var m int = len(b)
// [-4, 5, 1][1, 2, -2, 3]  longest max prefix in a and b
// [-4, 1, 5, 2, 1, -2, 3]  any merge combination
//  Sum : 6
findMaxPerfix(a, b, n, m)
}``````

#### Output

``6``
``````<?php
/*
Php program for
Maximum prefix sum possible by merging two given arrays
*/
class PrefixSum
{
public	function maxPerfix(\$record, \$size)
{
\$max = \$record[0];
for (\$i = 1; \$i < \$size; ++\$i)
{
\$record[\$i] = \$record[\$i - 1] + \$record[\$i];
if (\$record[\$i] > \$max)
{
// Change prefix sum
\$max = \$record[\$i];
}
}
if (\$max < 0)
{
// Negative prefix are not suitable in given record
\$max = 0;
}
return \$max;
}
public	function findMaxPerfix(\$a, \$b, \$n, \$m)
{
\$p1 = \$this->maxPerfix(\$a, \$n);
\$p2 = \$this->maxPerfix(\$b, \$m);
// Result is combination of max perfix in given a and b
echo(\$p1 + \$p2);
}
}

function main()
{
\$a = array(-4, 5, 1, -3, -5, 2);
\$b = array(1, 2, -2, 3, -4, 3, 0);
\$n = count(\$a);
\$m = count(\$b);
// [-4, 5, 1][1, 2, -2, 3]  longest max prefix in a and b
// [-4, 1, 5, 2, 1, -2, 3]  any merge combination
//  Sum : 6
}
main();``````

#### Output

``6``
``````/*
Node JS program for
Maximum prefix sum possible by merging two given arrays
*/
class PrefixSum
{
maxPerfix(record, size)
{
var max = record[0];
for (var i = 1; i < size; ++i)
{
record[i] = record[i - 1] + record[i];
if (record[i] > max)
{
// Change prefix sum
max = record[i];
}
}
if (max < 0)
{
// Negative prefix are not suitable in given record
max = 0;
}
return max;
}
findMaxPerfix(a, b, n, m)
{
var p1 = this.maxPerfix(a, n);
var p2 = this.maxPerfix(b, m);
// Result is combination of max perfix in given a and b
console.log( p1 + p2);
}
}

function main()
{
var a = [-4, 5, 1, -3, -5, 2];
var b = [1, 2, -2, 3, -4, 3, 0];
var n = a.length;
var m = b.length;
// [-4, 5, 1][1, 2, -2, 3]  longest max prefix in a and b
// [-4, 1, 5, 2, 1, -2, 3]  any merge combination
//  Sum : 6
}
main();``````

#### Output

``6``
``````#    Python 3 program for
#    Maximum prefix sum possible by merging two given arrays
class PrefixSum :
def maxPerfix(self, record, size) :
max = record[0]
i = 1
while (i < size) :
record[i] = record[i - 1] + record[i]
if (record[i] > max) :
#  Change prefix sum
max = record[i]

i += 1

if (max < 0) :
#  Negative prefix are not suitable in given record
max = 0

return max

def findMaxPerfix(self, a, b, n, m) :
p1 = self.maxPerfix(a, n)
p2 = self.maxPerfix(b, m)
#  Result is combination of max perfix in given a and b
print(p1 + p2, end = "")

def main() :
a = [-4, 5, 1, -3, -5, 2]
b = [1, 2, -2, 3, -4, 3, 0]
n = len(a)
m = len(b)
#  [-4, 5, 1][1, 2, -2, 3]  longest max prefix in a and b
#  [-4, 1, 5, 2, 1, -2, 3]  any merge combination
#   Sum : 6

if __name__ == "__main__": main()``````

#### Output

``6``
``````#    Ruby program for
#    Maximum prefix sum possible by merging two given arrays
class PrefixSum
def maxPerfix(record, size)
max = record[0]
i = 1
while (i < size)
record[i] = record[i - 1] + record[i]
if (record[i] > max)
#  Change prefix sum
max = record[i]
end

i += 1
end

if (max < 0)
#  Negative prefix are not suitable in given record
max = 0
end

return max
end

def findMaxPerfix(a, b, n, m)
p1 = self.maxPerfix(a, n)
p2 = self.maxPerfix(b, m)
#  Result is combination of max perfix in given a and b
print(p1 + p2)
end

end

def main()
a = [-4, 5, 1, -3, -5, 2]
b = [1, 2, -2, 3, -4, 3, 0]
n = a.length
m = b.length
#  [-4, 5, 1][1, 2, -2, 3]  longest max prefix in a and b
#  [-4, 1, 5, 2, 1, -2, 3]  any merge combination
#   Sum : 6
end

main()``````

#### Output

``6``
``````/*
Scala program for
Maximum prefix sum possible by merging two given arrays
*/
class PrefixSum()
{
def maxPerfix(record: Array[Int], size: Int): Int = {
var max: Int = record(0);
var i: Int = 1;
while (i < size)
{
record(i) = record(i - 1) + record(i);
if (record(i) > max)
{
// Change prefix sum
max = record(i);
}
i += 1;
}
if (max < 0)
{
// Negative prefix are not suitable in given record
max = 0;
}
return max;
}
def findMaxPerfix(a: Array[Int], b:
Array[Int], n: Int, m: Int): Unit = {
var p1: Int = maxPerfix(a, n);
var p2: Int = maxPerfix(b, m);
// Result is combination of max perfix in given a and b
print(p1 + p2);
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: PrefixSum = new PrefixSum();
var a: Array[Int] = Array(-4, 5, 1, -3, -5, 2);
var b: Array[Int] = Array(1, 2, -2, 3, -4, 3, 0);
var n: Int = a.length;
var m: Int = b.length;
// [-4, 5, 1][1, 2, -2, 3]  longest max prefix in a and b
// [-4, 1, 5, 2, 1, -2, 3]  any merge combination
//  Sum : 6
}
}``````

#### Output

``6``
``````import Foundation;
/*
Swift 4 program for
Maximum prefix sum possible by merging two given arrays
*/
class PrefixSum
{
func maxPerfix(_ record: inout[Int], _ size: Int) -> Int
{
var max: Int = record[0];
var i: Int = 1;
while (i < size)
{
record[i] = record[i - 1] + record[i];
if (record[i] > max)
{
// Change prefix sum
max = record[i];
}
i += 1;
}
if (max < 0)
{
// Negative prefix are not suitable in given record
max = 0;
}
return max;
}
func findMaxPerfix(_ a: inout[Int], _ b: inout[Int], _ n: Int, _ m: Int)
{
let p1: Int = self.maxPerfix(&a, n);
let p2: Int = self.maxPerfix(&b, m);
// Result is combination of max perfix in given a and b
print(p1 + p2, terminator: "");
}
}
func main()
{
var a: [Int] = [-4, 5, 1, -3, -5, 2];
var b: [Int] = [1, 2, -2, 3, -4, 3, 0];
let n: Int = a.count;
let m: Int = b.count;
// [-4, 5, 1][1, 2, -2, 3]  longest max prefix in a and b
// [-4, 1, 5, 2, 1, -2, 3]  any merge combination
//  Sum : 6
}
main();``````

#### Output

``6``
``````/*
Kotlin program for
Maximum prefix sum possible by merging two given arrays
*/
class PrefixSum
{
fun maxPerfix(record: Array < Int > , size: Int): Int
{
var max: Int = record[0];
var i: Int = 1;
while (i < size)
{
record[i] = record[i - 1] + record[i];
if (record[i] > max)
{
// Change prefix sum
max = record[i];
}
i += 1;
}
if (max < 0)
{
// Negative prefix are not suitable in given record
max = 0;
}
return max;
}
fun findMaxPerfix(a: Array < Int > ,
b: Array < Int > ,
n: Int,
m: Int): Unit
{
val p1: Int = this.maxPerfix(a, n);
val p2: Int = this.maxPerfix(b, m);
// Result is combination of max perfix in given a and b
print(p1 + p2);
}
}
fun main(args: Array < String > ): Unit
{
val a: Array < Int > = arrayOf(-4, 5, 1, -3, -5, 2);
val b: Array < Int > = arrayOf(1, 2, -2, 3, -4, 3, 0);
val n: Int = a.count();
val m: Int = b.count();
// [-4, 5, 1][1, 2, -2, 3]  longest max prefix in a and b
// [-4, 1, 5, 2, 1, -2, 3]  any merge combination
//  Sum : 6
}``````

#### Output

``6``

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

Categories
Relative Post