Búsqueda binaria en JavaScript
Divide el rango a la mitad en cada paso; mil elementos toman diez comparaciones.
function binarySearch(items, target) {
let lo = 0;
let hi = items.length - 1;
while (lo <= hi) {
const mid = Math.floor((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í
Mathconstelsefunctionifletreturnwhile
El intento, en números
- Líneas
- 11
- Caracteres a escribir
- 247
- Tokens
- 85
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 57 segundos.
Paso 10 de 10 en Arreglos; paso 26 de 43 en Fundamentos del lenguaje.