Sigamos ejercitando con arreglos. ¿Te animas a intentar una resolución antes de leer las que están en la imagen?
Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
Obtener las sumas acumuladas del arreglo nums tal que sumasAcumuladas[i] = suma(nums[0] .. nums[i]).
Ejemplo:
Entrada: [1,2,3,4]
Salida: [1,3,6,10] (se calcula como: [1, 1+2, 1+2+3, 1+2+3+4])
Posibles soluciones:
C++:
vector<int> sumasAcumuladas(vector<int> &nums) {
vector<int> resultado = {nums[0]};
for (int i = 1; i < nums.size(); i++) {
resultado.push_back(resultado.back() + nums[i]);
}
return resultado;
}
Java:
public int[] sumasAcumuladas(int[] nums) {
int[] resultado = new int[nums.length];
resultado[0] = nums[0];
for (int i = 1; i < nums.length; i++) {
resultado[i] = resultado [i - 1] + nums[i];
}
return resultado;
}
Python:
def sumasAcumuladas(nums):
resultado = [nums[0]]
for i in range(1, len(nums)):
resultado.append(resultado[-1] + nums[i])
return resultado