Given two arrays A[] and B[], the task is to choose two elements X and Y such that X belongs to A[] and Y belongs to B[] and (X + Y) must not be present in any of the array.
Examples:
Input: A[] = {3, 2, 2}, B[] = {1, 5, 7, 7, 9}
Output: 3 9
3 + 9 = 12 and 12 is not present in
any of the given arrays.
Input: A[] = {1, 3, 5, 7}, B[] = {7, 5, 3, 1}
Output: 7 7
Approach: Choose X as the maximum element from A[] and Y as the maximum element from B[]. Now, it is obvious that (X + Y) will be greater than the maximum of both the arrays i.e. it will not be present in any of the arrays.
Below is the implementation of the above approach:
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std;
// Function to find the numbers from // the given arrays such that their // sum is not present in any // of the given array void findNum( int a[], int n, int b[], int m)
{ // Find the maximum element
// from both the arrays
int x = *max_element(a, a + n);
int y = *max_element(b, b + m);
cout << x << " " << y;
} // Driver code int main()
{ int a[] = { 3, 2, 2 };
int n = sizeof (a) / sizeof ( int );
int b[] = { 1, 5, 7, 7, 9 };
int m = sizeof (b) / sizeof ( int );
findNum(a, n, b, m);
return 0;
} |
// Java implementation of the approach class GFG
{ // find maximum element in an array static int max_element( int a[], int n)
{ int m = Integer.MIN_VALUE;
for ( int i = 0 ; i < n; i++)
m = Math.max(m, a[i]);
return m;
} // Function to find the numbers from // the given arrays such that their // sum is not present in any // of the given array static void findNum( int a[], int n,
int b[], int m)
{ // Find the maximum element
// from both the arrays
int x = max_element(a, n);
int y = max_element(b, m);
System.out.print(x + " " + y);
} // Driver code public static void main(String args[])
{ int a[] = { 3 , 2 , 2 };
int n = a.length;
int b[] = { 1 , 5 , 7 , 7 , 9 };
int m = b.length;
findNum(a, n, b, m);
} } // This code is contributed by Arnub Kundu |
# Python3 implementation of the approach # Function to find the numbers from # the given arrays such that their # sum is not present in any # of the given array def findNum(a, n, b, m) :
# Find the maximum element
# from both the arrays
x = max (a);
y = max (b);
print (x, y);
# Driver code if __name__ = = "__main__" :
a = [ 3 , 2 , 2 ];
n = len (a);
b = [ 1 , 5 , 7 , 7 , 9 ];
m = len (b);
findNum(a, n, b, m);
# This code is contributed by AnkitRai01 |
// C# implementation of the approach using System;
class GFG
{ // find maximum element in an array
static int max_element( int []a, int n)
{
int m = int .MinValue;
for ( int i = 0; i < n; i++)
m = Math.Max(m, a[i]);
return m;
}
// Function to find the numbers from
// the given arrays such that their
// sum is not present in any
// of the given array
static void findNum( int []a, int n,
int []b, int m)
{
// Find the maximum element
// from both the arrays
int x = max_element(a, n);
int y = max_element(b, m);
Console.Write(x + " " + y);
}
// Driver code
public static void Main()
{
int []a = { 3, 2, 2 };
int n = a.Length;
int []b = { 1, 5, 7, 7, 9 };
int m = b.Length;
findNum(a, n, b, m);
}
} // This code is contributed by kanugargng |
<script> // Javascript implementation of the approach // Function to find the numbers from // the given arrays such that their // sum is not present in any // of the given array function findNum(a, n, b, m)
{ // Find the maximum element
// from both the arrays
var x = a.reduce( function (a, b) { return Math.max(a, b); });
var y = b.reduce( function (a, b) { return Math.max(a, b); });
document.write(x + " " + y);
} // Driver code var a = [ 3, 2, 2 ];
var n = a.length;
var b = [ 1, 5, 7, 7, 9 ]
var m = b.length;
findNum(a, n, b, m); // This code is contributed by rutvik_56. </script> |
3 9
Time Complexity: O(n)
Auxiliary Space: O(1)