统计一个数字在排序数组中出现的次数。
示例 1:
输入: nums = [5,7,7,8,8,10], target = 8
输出: 2
示例 2:
输入: nums = [5,7,7,8,8,10], target = 6
输出: 0
解题思路:找到target的右边界和target-1的右边界相减即可。使用二分法
num[m]<=target 说明右边界在中点右侧 left=m+1
num[m]>target 说明右边界在中点左侧 right=m-1
class Solution(object):
def search(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
def helper(tar):
i=0
j=len(nums)-1
while i<=j:
m=(i+j)//2
if nums[m]<=tar:
i=m+1
else:
j=m-1
return i
return helper(target)-helper(target-1)



