1 def BinarySearch(l, value, beg, end): 2 mid = (end+beg)//2 3 if beg == end: 4 return -1 5 if value == l[mid]: 6 return mid 7 elif value < l[mid]: 8 return BinarySearch(l, value, beg, mid) 9 else: 10 return BinarySearch(l, value, mid+1, end) 11 12 l = [x*x for x in range(100) if x%3==0] 13 print(l) 14 print(BinarySearch(l, 900, 0, len(l))) 15 print(BinarySearch(l, 0, 0, len(l))) 16 print(BinarySearch(l, 9801, 0, len(l)))
输出:
10
0
33
原文:https://www.cnblogs.com/chenzhengxi/p/12864065.html