> For the complete documentation index, see [llms.txt](https://mayanktyagi3111.gitbook.io/interview-prep/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mayanktyagi3111.gitbook.io/interview-prep/two-pointers/intersection-of-sorted-arrays.md).

# Intersection Of Sorted Arrays

Find the intersection of two sorted arrays.\
**OR in other words,**\
Given 2 sorted arrays, find all the elements which occur in both the arrays.

**Example :**

```
Input : 
    A : [1 2 3 3 4 5 6]
    B : [3 3 5]

Output : [3 3 5]

Input : 
    A : [1 2 3 3 4 5 6]
    B : [3 5]

Output : [3 5]
```

> **NOTE** : For the purpose of this problem ( as also conveyed by the sample case ), assume that elements that appear more than once in both arrays should be included multiple times in the final output.

```java
public class Solution {
    public ArrayList<Integer> intersect(final List<Integer> A, final List<Integer> B) {
        ArrayList<Integer> ans = new ArrayList<>();
        int i = 0, j = 0;
        while (i < A.size() && j < B.size()) {
            if (A.get(i).compareTo(B.get(j)) == 0) {
                ans.add(A.get(i));
                i++;
                j++;
            } else if (A.get(i).compareTo(B.get(j)) < 0)
                i++;
            else 
                j++;
        }
        return ans;
    }
}
```
