每日一题 【每日一题】实现二分查找-Python-20210826

Jack · 2021年08月26日 · 最后由 lework 回复于 2021年12月12日 · 97 次阅读
本帖已被设为精华帖!

使用 Python 实现二分查找。

Jack 将本帖设为了精华贴 08月26日 21:48

参考代码:

def binary_search(data, item):
    n = len(data)
    if n > 0:
        mid = n // 2
        if data[mid] == item:
            return True
        elif data[mid] > item:
            return binary_search(data[:mid], item)
        else:
            return binary_search(data[mid+1:], item)
    return False
package main

import "fmt"

func binarySearch(data []int64, item int64)  bool{
    n := len(data)
    if n > 0 {
        mid := n / 2
        if data[mid] == item {
            return true
        } else  if data[mid] > item {
            return binarySearch(data[:mid], item)
        } else {
            return binarySearch(data[mid+1:], item)
        }
    }

    return false
}
func main() {
    /*
    实现二分查找
    */

    var (
        data = []int64{1,2,3,4,5,6,7,8}
        item = 7
    )

    fmt.Println(binarySearch(data, int64(item)))
}
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册