changgyhub / leetcode_101

LeetCode 101:和你一起你轻松刷题(C++)
8.2k stars 1.12k forks source link

a bug #56

Closed zhangbo2008 closed 2 years ago

zhangbo2008 commented 2 years ago

16页有bug

def lower_bound(nums,target):
    l=0
    r=len(nums)
    mid=0
    while (l<r):
        mid=l+(r-l)//2
        if nums[mid]>=target:
            r=mid

        else:
            l=mid+1

    return l
print(lower_bound([1,2,5,7],3))# 输出2
print("正确答案应该是1")
zhangbo2008 commented 2 years ago

原来lower_bound不是数学上下确界的意思. 因为在升序序列中 lower_bound 返回第一个大于等于 参数val 的 序列值的迭代器

zhangbo2008 commented 2 years ago

没bug了

changgyhub commented 2 years ago

这个确实要看C++ API定义 lol