Algoritmo para encontrar dentro de un arreglo un par de valores que correspondan a un promedio
Escriba una función llamada parPromedio que reciba una lista de enteros ordenados y un valor promedio esperado, y determine si dentro del arreglo existe un par de valores cuyo promedio sea el proporcionado.
function parPromedio(nums, avg) {
// si menos de 2 valores retornar false
if (nums.length < 2) {
return false;
}
// definir punteros
let i = 0;
let j = nums.length - 1;
// recorrer el arreglo
while (i < j) {
// calculate current average
let currAvg = (nums[i] + nums[j]) / 2;
if (currAvg === avg) {
// si el promedio de ambos es el esperado
// retornar los indices
return true;
} else if (currAvg > avg) {
// si el promedio es mayor que el esperado
// mover el puntero derecho
j--;
} else {
// si el promedio es menor que el esperado
// mover el puntero izquierdo
i++;
}
}
// si no hay ningun par que satisfagan la condición
return false;
}