Running Sum of 1D Array: Explicando el leetcode 1480
Cómo entender fácilmente el concepto de Running Sum en C#, aprendiendo sobre arreglos paso a paso.
Running Sum, entendiendo el siguiente paso
Este problema es perfecto para practicar manipulación de arreglos y entender cómo se pueden acumular valores a través de un loop. Se explicara cómo resolverlo paso a paso, con una técnica muy simple.
¿Qué es un Running Sum?
El Running Sum (o suma acumulativa) significa que cada elemento del arreglo será la suma de él mismo más todos los elementos anteriores.
Ejemplo:
-
Input:
nums = [1, 2, 3, 4]
Aquí comenzamos con un arreglo sencillo. -
Output:
[1, 3, 6, 10]
El nuevo arreglo contiene:1(el primero es igual),1 + 2 = 3,1 + 2 + 3 = 6,1 + 2 + 3 + 4 = 10.
Descripción del problema
Dado un arreglo de enteros, necesitamos transformar ese arreglo para que cada posición contenga la suma acumulativa desde el principio hasta ese punto.
Codigo inicial en C#
public class Solution {
public int[] RunningSum(int[] nums) {
}
}
Podemos notar que se nos da un arreglo tipo int llamado nums.
Primer Paso:
Queremos recorrer el arreglo comenzando desde la posición 1. ¿Por qué no desde el 0? Porque la posición 0 ya es igual a su running sum, no necesita cambio.
public class Solution {
public int[] RunningSum(int[] nums) {
for(int i = 1; i<nums.Length; i++){
}
}
}
Segundo Paso:
Ahora, actualizamos cada posición sumando el valor que tiene el elemento anterior. Esto hace que se acumulen los valores.
public class Solution {
public int[] RunningSum(int[] nums) {
for(int i = 1; i<nums.Length; i++){
nums[i] += nums[i-1];
}
return nums;
}
}
Explicación línea por línea:
-
for(int i = 1; i<nums.Length; i++)Empezamos desde el segundo elemento. -
nums[i] += nums[i-1];Acumulamos el valor actual con el anterior. -
return nums;Devolvemos el arreglo ya transformado.
Conclusion
Running Sum es uno de los problemas más simples pero útiles para comenzar a trabajar con arreglos y loops en programación. Nos enseña cómo modificar un arreglo en tiempo real, cómo usar índices correctamente, y cómo aplicar lógica acumulativa paso a paso.
Subscribete al Newsletter
Obten las notificaciones directamente a tu inbox cuando se agregue un leetcode nuevo.
No spam, ever. Unsubscribe anytime. Your email will never be shared.
Related Posts

Fizz Buzz: Explicación simple del clásico de LeetCode
Se explica Fizz Buzz de una manera sencilla en C# para que los principiantes entiendan cómo resolverlo paso a paso.
Is Subsequence: Verificando subsecuencias paso a paso
Explicamos cómo determinar si una cadena es subsecuencia de otra en C# con un algoritmo eficiente.

Maximum Depth of Binary Tree: Explorando la profundidad máxima en C#
Descubre cómo calcular la profundidad máxima de un binary tree utilizando recursión en C#.