#使用二分查找的思想
list = [1,2,3,3,3,3,4,5,6]
def GetNumberOfK(list,k):
if len(list) == 0:
return 0
mid = len(list)//2
if list[mid] == k:
start,end = mid,mid
for i in range(mid,-1,-1):
if list[i] == k:
start -= 1
for i in range(mid+1,len(list)):
if list[i] == k:
end += 1
return end - start
elif list[mid] > k:
return GetNumberOfK(list[:mid],k)
else:
return GetNumberOfK(list[mid+1:],k)
print(GetNumberOfK(list,4))
来源:CSDN
作者:看雨c
链接:https://blog.csdn.net/weixin_45947707/article/details/103858617