题目来源:链接
题目描述:
统计一个数字在排序数组中出现的次数。
示例 1:
输入:nums = [5,7,7,8,8,10],target = 8
输出:0
代码实现:
def func(nums,target):
def handler(tar):
i,j = 0, len(nums)-1
while i<=j:
m = (i+j)//2
if nums[m]<=tar:
i = m+1
else:
j = m-1
return i
return handler(target)-handler(target-1)
解题思路:
通过二分查找,找出target的下标,再找出target-1的下标,尽管target-1不一定在nums里面
但是依旧可以返回下标(比target小的且在nums中的)