LeetCode刷题(3)

来源:互联网 发布:知乎开发者平台 编辑:程序博客网 时间:2024/06/08 15:26

1.Search Insert Position

l, r = 0, len(nums) - 1    while l <= r:        m = (l + r)/2        if nums[m] > key:            r = m - 1            if r >= 0:                if nums[r] < key:                    return r + 1            else:                return 0        elif nums[m] < key:            l = m + 1            if l < len(nums):                if nums[l] > key:                    return l            else:                return len(nums)        else:            return m

此类问题算法性能应为O(log(n)),应从左右两端向中间逼近,每次范围缩小为当前的1/2

原创粉丝点击