JAVA-二元搜索法(Binary Search)

JAVA-二元搜索法(Binary Search)

JAVA-二元搜索法(Binary Search) 


資料來源:https://mp.weixin.qq.com/s/pz01P-0vHxwrKSHPgqEu7g


再有排列(排序)的數據資料,搜尋其時間複雜度是O(logn)


    public static int binarySearch(int target, int[] arr) {
        // 数组最左边元素下标
        int left = 0;
        // 数组最右边元素下标
        int right = arr.length - 1;
        while (left <= right) {
            // 中间元素下标
            int mid = (right + left) / 2;
            if (arr[mid] > target) {
                right = mid - 1;
            } else if (arr[mid] < target) {
                left = mid + 1;
            } else {
                return arr[mid];
            }
        }
        return -1;
    }

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *