Understanding a Python list to find a pair with a given sum of two arrays

Examples:

 Input: arr1 = [-1, -2, 4, -6, 5, 7] arr2 = [6, 3, 4, 0] x = 8 Output: [( 5, 3), (4, 4)] Input: arr1 = [1, 2, 4, 5, 7] arr2 = [5, 6, 3, 4, 8] x = 9 Output: [(1, 8) , (4, 5), (5, 4)] 

We have a solution for this problem, please contact.  list comprehension . The approach is very simple, we will consider all those pairs for which, if k lies in arr2, then xk must lie in arr1 , so the pair will be (xk, k).

# Function for finding all pairs with sum of x in
# two arrays

 

def allPairs ( arr1, arr2, x):

 

  # finds all pairs in two arrays

# whose the sum is x

print ([ (x - k, k) for in arr2 if (x - k) in arr1])

 
# Driver program

if __ name__ = = "__ main__" :

  arr1 = [ - 1 , - 2 , 4 , - 6 , 5 , 7 ]

arr2 = [ 6 , 3 , 4 , 0

x = 8

  allPairs (arr1, arr2, x)

Complexity: O (n * n)
Output:

 [(5, 3), (4, 4)]