Menu
CoddyTech

Rod Cutting Problem

Tu disposes d’une tige de longueur n, où n = prices.length. Un morceau de longueur k se vend au prix de prices[k-1]. Tu peux découper la tige en autant de morceaux de longueurs entières que tu le souhaites, ou la vendre en un seul morceau. Retourne la somme maximale que tu peux gagner en vendant toute la tige.

Fonction

cutRod(prices: integer-array) → integer
pricesinteger-array
prices[k-1] est le prix d'une pièce de longueur k ; la tige a une longueur de prices.length
Renvoieinteger
le plus d’argent que toute la tige peut rapporter

Contraintes

  • 1 ≤ prices.length ≤ 1000
  • 1 ≤ prices[i] ≤ 105

Exemples

Entrée
prices = [2, 5, 7, 8]
Sortie
10
Explication
Deux morceaux de longueur 2 se vendent 5 + 5 = 10. Vendre la tige entière rapporte 8, et un morceau de 1 plus un morceau de 3 rapporte 2 + 7 = 9.
challenge icon

Pour aller plus loin

Et si tu peux couper la tige au maximum m fois ? Que doit alors savoir chaque entrée du tableau ?

Réinitialiser le code
def cutRod(prices):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Argument

prices = [2, 5, 7, 8]

Résultat attendu

10