public static int bs(int[] a, int lo, int hi, int t) {
if (lo > hi) return -1;
int mid = (lo + hi) / 2;
if (a[mid] == t) return mid;
if (a[mid] < t) return bs(a, mid+1, hi, t);
return bs(a, lo, mid-1, t);
}
// call: bs({2,4,6,8,10}, 0, 4, 8)What does the call return?
- A
2
- B
-1
- C
4
- Dcheck_circle
3
Explanation
Recursive binary search finds 8 at index 3.