binary search 二分查找

 public static boolean binarySearch(int[] data, int target) {
    int low = 0;
    int high = data.length - 1;
    return binarySearch(data, target, low, high);
}

private static boolean binarySearch(int[] data, int target, int low, int high) {
    if(low > high) {
        return false;
    } else {
        int mid = (low + high) / 2;
        if (data[mid] > target) {
            return binarySearch(data, target, low, mid - 1);
        } else if (data[mid] < target) {
            return binarySearch(data, target, mid + 1, high);
        } else {
            return true;
        }
    }
}