Ejemplos, Encontrar par de valores que correspondan a un promedio de Ejemplos, Encontrar par de valores que correspondan a un promedio

☆ 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;

}