Ejemplos, Subarreglo mínimo para alcanzar valor

Algoritmo para encontrar el subarreglo mas pequeño que al sumarse sea igual o mayor que un valor provisto

Escribir una función llamada sumaMinimaSubarreglo la cual acepte dos parámetros.

  • Un arreglo de valores positivos enteros.
  • Un entero positivo.

La función debe retornar la longitud mínima de valores continuos de un subarreglo en el cual la suma sea mayor o igual al segundo parámetro enviado.

Ejemplo…

sumaMinimaSubarreglo([2,1,6,5,4], 9) => 2 [5,4]
function sumaMinimaSubarreglo(a, b) {
    let suma = 0;
    let minimo = Infinity;
    let i = 0;
    let j = 0;

    while (i < a.length) {
        if (suma < b && j < a.length) {
            suma += a[j++];
        } else if (suma >= b) {
            minimo = Math.min(minimo, j - i);
            suma -= a[i++];
        } else {
            break;
        }
    }

    return minimo === Infinity ? 0 : minimo;
}