如何实现二分查找算法?

二分查找是一种常见的查找算法,其基本思想是将数组分为两个子数组,一个包含小于目标元素的元素,另一个包含大于目标元素的元素。

然后递归地在其所在的子数组中查找目标元素。以下是一个简单的二分查找实现:

public static int binarySearch(int[] arr, int target) {
    int left = 0;
    int right = arr.length - 1;
    while (left <= right) {
        int mid = left + (right - left) / 2;
        if (arr[mid] == target) {
            return mid;
        } else if (arr[mid] < target) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }
    return -1;
}