func binarySearch(arr []int, target int) int {
    if len(arr) == 0 {
        return -1
    }
    left := 0
    right := len(arr) - 1
    mid := len(arr) / 2
    for i := 0; i <= mid; i++ {
        //左指针不能大于mid(中间),右指针不能小于mid(中间)
        if arr[left] == target { //当左边的指针找到了目标
            return left
        } else if arr[right] == target { //当右边的指针找到了目标
            return right
        } else { //左右指针都没找到,同时变化
            left++
            right--
        }
    }
    return -1
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code