二分查找

64 阅读1分钟

leetcode题目:搜索插入位置

输入: [1,3,5,6], 5
输出: 2

def searchInsert(self, nums: List[int], target: int) -> int:
    last = len(nums) - 1
    start = 0
    while start <= last:
        middle = (start + last) // 2
        if nums[middle] > target:
            last = middle - 1
        elif nums[middle] < target:
            start = middle + 1
        else:
            return middle
    return start