Recursive Searching and Sorting (Binary Search, Merge Sort)

AP Computer Science A· difficulty 4/5

public static int bsearch(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 bsearch(a, mid + 1, hi, t);
    return bsearch(a, lo, mid - 1, t);
}
int[] arr = {1, 3, 5, 7, 9, 11};
System.out.println(bsearch(arr, 0, 5, 7));

What is returned?

  • A

    7

  • B

    -1

  • C

    4

  • D

    3

    check_circle

Explanation

7 is at index 3 in the sorted array.

Want 10 more like this — adaptive to your weak spots?

Related questions