We are given list of n number of arrays, find all common elements in given arrays ? Examples:
Input : arr = [[1,2,3,4], [8,7,3,2], [9,2,6,3], [5,1,2,3]] Output : Common Elements = [2,3]
We can solve this problem quickly in python using intersection_update() method of Set() data structure. How intersection_update() works ?
Suppose we have two sets A and B, then A.intersection_update(B) operation updates set A with common elements in set A and B. For example, A=set([1,2,3]) and B=set([4,2,3]) now after taking A.intersection_update(B), value of set A will be [2,3]. Syntax is anySet.intersection_update(iterable).
Implementation:
Python3
# Function to find common elements in n arrays def commonElements(arr):
# initialize result with first array as a set
result = set (arr[ 0 ])
# now iterate through list of arrays starting from
# second array and take intersection_update() of
# each array with result. Every operation will
# update value of result with common values in
# result set and intersected set
for currSet in arr[ 1 :]:
result.intersection_update(currSet)
return list (result)
# Driver code if __name__ = = "__main__" :
arr = [[ 1 , 2 , 3 , 4 ], [ 8 , 7 , 3 , 2 ], [ 9 , 2 , 6 , 3 ], [ 5 , 1 , 2 , 3 ]]
output = commonElements(arr)
if len (output) > 0 :
print ( "Common Element = " ,output)
else :
print ( 'No Common Elements Found' )
|
Output
Common Element = [2, 3]
Recommended Articles