二分法的简单使用:在一个有序数组中,找某个数是否存在

public class BSExist {
    public static boolean exist(int[] arr, int target) {
        if (arr.length == 0 || arr == null) {
            return false;
        }
        int L = 0;
        int R = arr.length - 1;
        int mid = 0;
        while (L < R) {
            mid = (L + R) / 2;
            if (arr[mid] == target) {
                return true;
            } else if (arr[mid] > target) {
                R = mid - 1;
            } else {
                L = mid + 1;
            }
        }
        return arr[L] == target;
    }

    public static void main(String[] args) {
        int[] arr = {0,1,2,3,4,5,6,7,8,9,10};
        System.out.println(exist(arr,4));
    }
}

posted @ 2020-07-07 10:04  硬盘红了  阅读(488)  评论(0)    收藏  举报