получает «a» как «none» каждый раз. Я увеличиваю значение c, если элемент (ключ i.e) присутствует в списке и затем возвращает его. но idk, почему я не получаю ни одного ответа. Пожалуйста, обратите внимание: список уже отсортировандвоичный поиск рекурсивная функция не работает
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
Вы пробовали с более коротким списком? –
@dmg c - счетчик, который увеличивается, если ключ находится в списке, поэтому в этом случае c должен иметь значение 1 по мне, но я не получаю, –