while l <= r: mid = (l + r)//2 if nums[mid] <= target: # 在右边界搜索 l = mid + 1 else: r = mid -1# 在左边界搜索 right = l print(l,r) # 若数组中无 target ,则提前返回 if r >= 0and nums[r] != target: return0 # 搜索左边界left,注意这里右边界没有取等号 l = 0 while l <= r: m = (l+r)//2 if nums[m] < target: # 在右区间查找 l = m+1 else: r = m -1# 在左区间查找 left = r return right - left - 1