Somme des parties
Cette semaine, c'est Quentin qui vous propose un #KataOfTheWeek : Somme des parties
Briefing du Kata : Pour commencer, imaginons le tableau d'entiers suivant : ls = [0, 1, 3, 6, 10]
Les différentes parties de ce tableau sont alors :
ls = [0, 1, 3, 6, 10]
ls = [1, 3, 6, 10]
ls = [3, 6, 10]
ls = [6, 10]
ls = [10]
ls = []
Le résultat attendu après le passage dans la fonction sera : [20, 20, 19, 16, 10, 0]
.
Autres exemples :
ls = [1, 2, 3, 4, 5, 6]
parts_sums(ls) -> [21, 20, 18, 15, 11, 6, 0]
ls = [744125, 935, 407, 454, 430, 90, 144, 6710213, 889, 810, 2579358]
parts_sums(ls) -> [10037855, 9293730, 9292795, 9292388, 9291934, 9291504, 9291414, 9291270, 2581057, 2580168, 2579358, 0]
Saurez-vous résoudre le problème ?
Bon courage !
Et voici une solution proposée par l'auteur en Java:
function partsSums(ls) {
ls.unshift(0);
let sum = ls.reduce((p, c) => p + c, 0);
return ls.map(v => sum = sum - v);
}
Votre équipe TakiVeille