// is allowed to return null when result is empty // ofs is added to elements of b prior to comparison static int[] intersectSortedIntArrays_ofs_optimized2(int[] a, int[] b, int ofs) { int i = 0, j = 0, la = l(a), lb = l(b); // swap if a is longer than b if (la > lb) { int[] temp = a; a = b; b = temp; int temp2 = la; la = lb; lb = temp2; } // special case zero elements if (la == 0) null; // special case one element if (la == 1) ret Arrays.binarySearch(b, a[0]-ofs) >= 0 ? a : null; // start in the middle of a, search this element in b int i = la/2; int x = a[i]; int j = Arrays.binarySearch(b, x-ofs); if (j < 0) }