typestar

Búsqueda binaria en Go

Divide el rango a la mitad en cada paso; mil elementos toman diez comparaciones.

func binarySearch(items []int, target int) int {
    lo, hi := 0, len(items)-1
    for lo <= hi {
        mid := (lo + hi) / 2
        if items[mid] == target {
            return mid
        }
        if items[mid] < target {
            lo = mid + 1
        } else {
            hi = mid - 1
        }
    }
    return -1
}

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
225
Tokens
77
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 51 segundos.

Escribe este fragmento

Paso 8 de 9 en Arreglos, slices y mapas; paso 23 de 30 en Fundamentos del lenguaje.

← Anterior Siguiente →