Ejercicio: Sumas Acumuladas
Read in English | Resolver en Línea
Antecedentes/Motivación
Una suma acumulada (también conocida como suma de prefijos) es una secuencia de sumas parciales de una secuencia dada. Por ejemplo, las sumas acumuladas de la secuencia ${a, b, c, \dots}$ son ${a, a+b, a+b+c, \dots}$. Esta es una técnica fundamental utilizada en programación competitiva y análisis de datos para calcular rápidamente la suma de cualquier sub-rango de una lista en tiempo $O(1)$ después de un paso de preprocesamiento de tiempo $O(n)$.
La Tarea
Implementa una función prefix_sums(numbers: list[int]) -> list[int] que reciba una lista de enteros y devuelva una nueva lista donde cada elemento en el índice $i$ sea la suma de todos los elementos de la lista original desde el índice $0$ hasta el $i$.
Especificaciones
- Nombre de la Función:
prefix_sums - Argumentos:
numbers(lista de enteros) - Tipo de Retorno:
list[int] - Resultado Esperado: Una lista de la misma longitud que contenga las sumas acumuladas.
Restricciones
- $0 \le \text{len(numbers)} \le 10^5$
- Los elementos son enteros en el rango $[-10^9, 10^9]$.
Ejemplo
Instrucciones
- Abre
exercises/prefix_sums/solution.py. - Implementa la función
prefix_sums. - Cambia
SUBMIT = FalseaSUBMIT = Trueen la parte superior del archivo cuando estés listo para ser evaluado. - Ejecuta
python solution.pylocalmente para verificar tu solución con las pruebas integradas.