【发布时间】:2015-04-06 10:38:53
【问题描述】:
每次都将“a”设为“none”......如果元素(即 key )存在于列表中,我将增加 c 的值,然后返回它。但是我知道为什么我没有得到任何答案。请注意:列表已排序
list=[1,2,2,4,6,7,8,8,9]
def binarysearch(list,key,s,e,c):
if(s<=e):
mid=int((s+e)/2)
if (key<list[mid]):
binarysearch(list,key,s,mid,c)
elif list[mid]==key:
c=c+1
return c
else:
binarysearch(list,key,mid+1,e,c)
else:
return c
key=2
a=binarysearch(list,key,0,len(list)-1,0)
print(a)
【问题讨论】:
-
c是什么意思? -
您是否尝试过使用较短的列表?
-
@dmg c 是一个计数器,如果在列表中找到键,则该计数器会递增,因此在这种情况下,根据我的说法 c 应该具有值 1,但我没有得到,,跨度>