二分法搜索擦插入位置python3(leetcode35 )

#leetcode35. 搜索插入位置
#给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。
#如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

def Search_index(arr, target):
    l, r = 0, len(arr)-1
    while l <= r:
        mid = (l + r)//2
        
        if target == arr[mid]:
            return mid
        elif target > arr[mid]:
            l = mid + 1
        elif target < arr[mid]:
            r = mid - 1
    if (mid < l): #表示从target > arr[mid]跳出的while循环
        return mid + 1
    else: #表示从target < arr[mid]跳出
        return mid

猜你喜欢

转载自blog.csdn.net/ziqingnian/article/details/121783840