Construya un array de sumas prefijas
Precargue los totales acumulados una sola vez
Construya un array de sumas prefijas es una lección gratuita de Coding Interview Prep en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Coding Interview Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Coding Interview Prep incluye 4 lecciones en total.
El problema de las sumas repetidas
Imagine que debe responder cientos de preguntas sobre sumas de rangos en un mismo arreglo. Sumar cada rango desde cero es lento. Una suma prefija resuelve el problema. 🚀
Qué es una suma prefija
Un arreglo de sumas prefijas almacena, en cada índice, el total de todos los elementos hasta ese punto. Un único recorrido de precálculo convierte las sumas lentas en respuestas inmediatas.
Un pequeño ejemplo
Para [3, 1, 4], los totales acumulados son 3, después 4 y finalmente 8. Esa lista creciente de totales es precisamente su suma prefija.
La recurrencia fundamental
Cada entrada es el total anterior más el elemento actual. Esta recurrencia de una línea es el núcleo de toda la técnica.
prefix[i] = prefix[i - 1] + a[i]Constrúyala en código
Recorra el arreglo una vez y mantenga un total acumulado. En cada paso añada la nueva suma, de modo que construir el arreglo sea un único recorrido lineal.
prefix = [0]
for x in a:
prefix.append(prefix[-1] + x)Por qué ayuda un cero inicial
Comenzar prefix con un cero inicial significa que prefix[i] contiene la suma de los primeros i elementos. Esto simplifica las operaciones con rangos más adelante.
Convención de los índices
Con el cero al principio, prefix[k] equivale a a[0] + ... + a[k-1]. Mantener clara esta convención evita errores dolorosos de desfase de uno.
Coste de construirla
Construir el arreglo de sumas prefijas visita cada elemento exactamente una vez, por lo que cuesta O(n) de tiempo. Paga este coste una vez y después reutilícelo indefinidamente.
Precalcule una vez y consulte a menudo
La gran ventaja es el intercambio: invierta un recorrido lineal al principio para que cada consulta posterior de suma se convierta en una búsqueda rápida en lugar de un bucle.
Un atajo al estilo de Python
La biblioteca estándar puede construir los totales por usted. itertools.accumulate produce las sumas acumuladas en una sola llamada clara.
from itertools import accumulate
prefix = [0] + list(accumulate(a))Vigile la memoria
El arreglo de sumas prefijas tiene la misma longitud que la entrada más uno. Para entradas enormes, recuerde que duplica su uso de memoria.
Comprobación rápida
Construye un arreglo de sumas prefijas. ¿Qué suele contener el índice 0?
Repaso
Ha aprendido a construir un arreglo de sumas prefijas en un recorrido O(n), con un cero inicial para indexar limpiamente. Precalcule una vez y reutilícelo después. ✅
Preguntas frecuentes
¿La lección «Construya un array de sumas prefijas» es gratis?
Sí — el texto completo de «Construya un array de sumas prefijas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Coding Interview Prep, actualiza a CoddyKit PRO. El curso de Coding Interview Prep incluye 4 lecciones en total.
¿Qué aprenderé en «Construya un array de sumas prefijas»?
Precargue los totales acumulados una sola vez Practicas Coding Interview Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Coding Interview Prep?
No se requiere experiencia previa. Coding Interview Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Construya un array de sumas prefijas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Coding Interview Prep?
Sí. Cada lección de Coding Interview Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Construya un array de sumas prefijas
- Sume cualquier rango mediante resta
- Cuente subarrays con una suma objetivo
- Arrays de diferencias para actualizaciones de rangos