二分法开闭区间写法异同

主要分为四类:(以二分查找为例)

1
2
3
4
5
6
7
8
left , right = 0 , n-1
while left <= right:
mid = (left + right)//2
if nums[mid]<target:
left = mid + 1
else:
right = mid - 1
return left

tips

可以看到主要区别就是left,right的初始值,和mid是否+-1,
可以很简单地理解为,开区间就是把一个边界向外扩大了1,也
即相对mid更远了,因此所有计数都相应地外扩1

作者

Zebraine

发布于

2024-11-24

更新于

2024-11-26

许可协议

评论