function buscarElemento(arr: number[], target: number): number {
let izq = 0, der = arr.length;
while (izq < der) {
const mid = Math.floor((izq + der) / 2);
if (arr[mid] === target) return mid;
arr[mid] < target ? izq = mid + 1 : der = mid;
}
return -1;
} 📥 Inputs:
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo
💡 Explicación
Este es un error clásico en búsqueda binaria: inicializar 'der' con arr.length causa que el índice apunte más allá del último elemento válido. Además, la condición del while debe ser 'izq <= der' (no solo '<'), y al actualizar 'der' debe ser 'mid - 1' para evitar bucles infinitos. Un array [1,2,3] con target=3 fallaría con el código buggy.
¿Encontraste los 3 bugs? 🔍