Búsqueda binaria en R
Partir el rango a la mitad en cada paso, cuidando los índices de R que empiezan en 1.
binary_search <- function(items, target) {
lo <- 1
hi <- length(items)
while (lo <= hi) {
mid <- (lo + hi) %/% 2
if (items[mid] == target) {
return(mid)
}
if (items[mid] < target) {
lo <- mid + 1
} else {
hi <- mid - 1
}
}
-1
}
Palabras clave y builtins usados aquí
elsefunctionifreturnwhile
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 227
- Tokens
- 76
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 51 segundos.
Paso 4 de 5 en Pensamiento vectorizado; paso 13 de 20 en Fundamentos del lenguaje.