← OlimpiApp
Medio
Informatica · Ricerca
Quale valore cercato dà questi confronti
Si usa la funzione
def cerca(a, x):
lo, hi = 0, len(a) - 1
while lo <= hi:
mid = (lo + hi) // 2
if a[mid] == x:
return mid
elif a[mid] < x:
lo = mid + 1
else:
hi = mid - 1
return -1con
a = [3, 7, 11, 18, 22, 27, 31, 40, 44, 52, 57, 63, 70, 78, 85]Per un certo intero x, la chiamata cerca(a, x) confronta x, nell'ordine, con 40, 18, 27 e 22, e restituisce $-1$. Quale dei seguenti può essere x?