Bonjour, j'ai actuellement créé une fonction qui renvoie une liste sous cette forme : [ (id_élément1, poids1, temps1) , (id_élément2, poids2, temps2) , etc ].
Maintenant j'aimerais créer une autre fonction qui prend en paramètre un temps et qui renvoie une nouvelle liste qui contient des éléments dont la somme des poids est maximale sachant que la somme des temps de tous ces éléments de cette nouvelle liste ne doit pas dépasser le temps qu'on a entré en paramètre.
Exemple : Soit la liste obtenu : [ (élément1, 2, 10) , (élément2, 5, 7) , (élément3, 9, 15) , (élément4, 7, 11) ].
On entre en paramètre le temps qui vaut 23 par exemple.
La fonction doit donc renvoyer dans ce cas la liste : [ élément2, élément3 ] car la somme de leur temps est égale à 7 + 15 = 22 ce qui est bien inférieur à 23 et la somme de leur poids ( 5 + 9 = 14) est maximale en respectant le temps.
Voilà si quelqu'un pouvait m'aider ou me donner quelques pistes de recherche ça serait sympa. Je précise que je peux avoir accès à tous les informations poids/temps de la liste, mon problème étant juste de trouver une méthode pour maximiser le poids en respectant la contrainte de temps.
Je vous remercie de votre réponse !
Partager