Vai al contenuto principale
← OlimpiApp Facile

Informatica · Ricerca

Dove va inserito un altro 8

Per inserire un nuovo valore in un array ordinato si calcola la posizione con questa funzione.

def posizione(a, x):
    lo, hi = 0, len(a)
    while lo < hi:
        mid = (lo + hi) // 2
        if a[mid] < x:
            lo = mid + 1
        else:
            hi = mid
    return lo

Con a = [3, 5, 5, 8, 8, 8, 12, 14, 14, 20] (indici da 0 a 9), quanto vale posizione(a, 8)?

La tua risposta

Vanno bene sia 3,14 sia 3.14.