Python List Comprehension to find pair with given sum from two arrays
Last Updated :
28 Jul, 2022
Given two unsorted arrays of distinct elements, the task is to find all pairs from both arrays whose sum is equal to x.
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 existing solution for this problem please refer Given two unsorted arrays, find all pairs whose sum is x link. We can solve this problem quickly in python using List comprehension. Approach is very simple, we will consider all those pairs for which if k lies in arr2 then x-k should lie in arr1, so pair will be (x-k,k).
Implementation:
Python3
def allPairs(arr1,arr2,x):
print ([(x - k,k) for k in arr2 if (x - k) in arr1])
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)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...