二分查找

Posted da-peng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找相关的知识,希望对你有一定的参考价值。

func findTarget(numbers [] int , target int ,left int) int
    right := len(numbers) - 1
    result := -1
    for left <= right
        mid := left + (right - left)/2
        if numbers[mid] < target
            left = mid + 1
        else if numbers[mid] > target
            right = mid -1
        else 
            result = mid
            break
        
    
    return result

 

java

public static int binarySearch(int[] arr, int start, int end, int hkey)
    int result = -1;

    while (start <= end)
        int mid = start + (end - start)/2;    //防止溢位
        if (arr[mid] > hkey)
            end = mid - 1;
        else if (arr[mid] < hkey)
            start = mid + 1;
        else 
            result = mid ;  
            break;
        
    

    return result;

 

以上是关于二分查找的主要内容,如果未能解决你的问题,请参考以下文章

异序二分查找 二分查找方程根 二分查找重复元素最后一个

每周算法小知识之二分查找

查找算法之“二分查找”

java 二分查找法

hiho36 二分·二分查找二分查找

二分查找