int[] a = {1, 3, 5, 7, 9, 11, 13};
int target = 7;
int lo = 0, hi = a.length - 1;
int result = -1;
while (lo <= hi) {
int mid = (lo + hi) / 2;
if (a[mid] == target) { result = mid; break; }
else if (a[mid] < target) lo = mid + 1;
else hi = mid - 1;
}What is result?
- A
-1
- B
2
- C
4
- Dcheck_circle
3
Explanation
Binary search: mid=3 (a[3]=7) matches target, so result=3.