#使用二分查找的思想
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))
数字在排序数组中出现的次数--python
最新推荐文章于 2023-04-10 21:24:59 发布