|Suma máxima de subarreglo con mínimo K elementosMaster
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 20:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Suma máxima de subarreglo con mínimo K elementos

Master100 pts·Algoritmos

Enunciado

Suma máxima de subarreglo con mínimo K elementos

Dado un arreglo de enteros nums y un entero k, encuentra la suma máxima de un subarreglo contiguo que tenga al menos k elementos.

Este problema requiere una solución eficiente O(n) utilizando sumas prefijas y una deque (cola de doble extremo) para mantener el mínimo de sumas prefijas dentro de una ventana deslizante.

Algoritmo sugerido

  1. Calcula el arreglo de sumas prefijas prefix de longitud n+1.
  2. Usa una deque para mantener los índices de los mínimos de prefix[0..j-k].
  3. Para cada j desde k hasta n, calcula prefix[j] - prefix[deque.front()] y actualiza el máximo.
  4. Agrega j - k a la deque si prefix[j - k] es menor que los valores al final de la deque.

Ejemplo

console.log(maxSubarraySumAtLeastK([1, -1, 2, 3, -2, 1], 2)); // 5
console.log(maxSubarraySumAtLeastK([5, 1, 2], 2));             // 8
console.log(maxSubarraySumAtLeastK([-1, -2, -3], 1));          // -1

Restricciones

  • 1 <= nums.length <= 100_000
  • -10_000 <= nums[i] <= 10_000
  • 1 <= k <= nums.length
  • El subarreglo debe ser contiguo.
Restriccionesexpand_more
  • Dificultad: Master
  • Completa todos los test cases para obtener los 100 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar
Suma máxima de subarreglo con mínimo K elementos — Master | Coding Challenges · Coding Challenges