两种找法的步数
在 [13, 15, 17, 23, 24] 里找 24。运行下面这段程序:
def lsteps(a, target):
n = 0
for x in a:
n += 1
if x == target:
return n
return n
def bsteps(a, target):
lo = 0
hi = len(a) - 1
n = 0
while lo <= hi:
mid = (lo + hi) // 2
n += 1
if a[mid] == target:
return n
if a[mid] < target:
lo = mid + 1
else:
hi = mid - 1
return n
A = [13, 15, 17, 23, 24]
print(str(bsteps(A, 24)) + "/" + str(lsteps(A, 24)))
全部评论