Skip to content

Commit ca1474e

Browse files
Added Intersection Of Sorted Arrays
1 parent cde3460 commit ca1474e

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package interview.google;
2+
3+
import java.util.ArrayList;
4+
import java.util.Arrays;
5+
import java.util.List;
6+
7+
import org.junit.Test;
8+
9+
import junit.framework.TestCase;
10+
11+
/**
12+
* Link: https://www.interviewbit.com/problems/intersection-of-sorted-arrays/
13+
*
14+
* @author shivam.maharshi
15+
*/
16+
public class IntersectionOfSortedArrays extends TestCase {
17+
18+
@Test
19+
public static void test() {
20+
assertEquals(4, intersect(Arrays.asList(new Integer[]{1,2,3,3,4,5,6}), Arrays.asList(new Integer[] {0,1,3,4,5})).size());
21+
assertEquals(1, intersect(Arrays.asList(new Integer[]{10000000}), Arrays.asList(new Integer[] {10000000})).size());
22+
}
23+
24+
public static ArrayList<Integer> intersect(final List<Integer> a, final List<Integer> b) {
25+
ArrayList<Integer> r = new ArrayList<>();
26+
if (a == null || a.size() == 0 || b == null || b.size() == 0)
27+
return r;
28+
int i =0, j =0;
29+
while (i < a.size() && j < b.size()) {
30+
if (a.get(i).intValue() == b.get(j).intValue()) {
31+
r.add(a.get(i));
32+
i ++;
33+
j ++;
34+
} else if (a.get(i) < b.get(j))
35+
i++;
36+
else
37+
j++;
38+
}
39+
return r;
40+
}
41+
42+
}

0 commit comments

Comments
 (0)