查找算法
1.二分查找升级版
查找出第一个下标和最后一个下标
def helper(nums,target,left):
start = 0
end = len(nums)
while start < end:
mid = (start + end) // 2
if nums[mid] > target or(left and nums[mid] == target):
end = mid
else:
start = mid + 1
return start
def searchRange(nums, target):
left = helper(nums,target,True)
if left == len(nums) or nums[left] != target:
return [-1,-1]
return[left, helper(nums,target,False)-1]