Facile 0 résolus 0 % de réussite

Running Sum

Replace each value with the total so far.

Ce que vous allez apprendre

  • Calculer les totaux cumulés
  • Construire une nouvelle liste de résultats
  • Découvrir l'idée de somme préfixe

Problème

Build a running sum: the value at position i is the sum of all numbers from position 0 through i.

Implement running_sum(numbers).

Input

numbers: The list of integers.

Output

Return the list of running totals.

Contraintes

0 ≤ length ≤ 100,000; totals fit in a 64-bit integer

Exemples

Exemple 1
Entrée :
numbers = [1, 2, 3, 4]

Sortie attendue :
expected = [1, 3, 6, 10]
Entrée :
std::vector<long long> numbers = {1, 2, 3, 4};

Sortie attendue :
std::vector<long long> expected = {1, 3, 6, 10};
Entrée :
long[] numbers = new long[] {1, 2, 3, 4};

Sortie attendue :
long[] expected = new long[] {1, 3, 6, 10};

Explication

Totals so far: 1, 1+2=3, 3+3=6, 6+4=10.

Exemple 2
Entrée :
numbers = [5, -5, 5]

Sortie attendue :
expected = [5, 0, 5]
Entrée :
std::vector<long long> numbers = {5, -5, 5};

Sortie attendue :
std::vector<long long> expected = {5, 0, 5};
Entrée :
long[] numbers = new long[] {5, -5, 5};

Sortie attendue :
long[] expected = new long[] {5, 0, 5};

Explication

Totals: 5, 0, 5.

Comment l'aborder

Essayez d'abord seul, puis ouvrez les indices un par un.

Indice 1

Chaque élément de sortie dépend de la somme de tous les éléments précédents et de lui-même.

Indice 2

Garde un total cumulatif en parcourant la liste.

Indice 3

La première position doit simplement refléter la première valeur d’entrée.

Complexité attendue

temps O(n), espace supplémentaire O(n)

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.