# Find Common Elements in Two Arrays – Intersection of two Arrays

Given two sorted arrays, Write a code to find common elements in two arrays. In other words, we have to write a code to find the intersection of two arrays.

Let’s assume following two sorted arrays arr1[] and arr2[].

int arr1[] = {2,  3,  4,  5,  6};
int arr2[] = {4,  6,  7,  8,  9};

So the common elements in these two arrays is 4 and 6.

## Find Common Elements in Two Arrays – C Code

### First Method (Naive Approach) –

In this approach, we take each element of a first array and compare with each element of a second array.

The time complexity of this approach is O(mn), Where m and n are the number of elements in arr1[] and arr2[].

Subscribe Our Tutorials

Program to find a missing number in an array

### Second Method  – This approach is optimized as compared to first approach.

Implementation Logic:

i) Use two index variables i and j, initialize them with 0.
ii) If arr1[i] is smaller than arr2[j] then increment i.
iii) If arr1[i] is greater than arr2[j] then increment j.
iv) If both are same then print any of the array value and increment both i and j.

Program to implement a stack using an array

The time complexity of this approach is O(m+n).

Program to search an element in an array

Programming questions on linked list

## Java Code to Find Common Elements in Two Arrays

i) First Method – Using HashSet.

ii) Second Approach –

### Conclusion

I have explained these two approaches for finding common elements in two arrays. If you know some other method please let us know through your comments.