Menu
CoddyTech

Rod Cutting Problem

Du hast einen Stab der Länge n, wobei n = prices.length gilt. Ein Stück der Länge k lässt sich für prices[k-1] verkaufen. Du kannst den Stab in beliebig viele Stücke mit ganzzahligen Längen schneiden oder ihn als Ganzes verkaufen. Gib den höchstmöglichen Erlös zurück, den du durch den Verkauf des gesamten Stabs erzielen kannst.

Funktion

cutRod(prices: integer-array) → integer
pricesinteger-array
prices[k-1] ist der Preis eines Stücks der Länge k; der Stab ist prices.length lang
Gibt zurückinteger
das meiste Geld, das die gesamte Stange verdienen kann

Einschränkungen

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

Beispiele

Eingabe
prices = [2, 5, 7, 8]
Ausgabe
10
Erklärung
Zwei Stücke der Länge 2 verkaufen sich für 5 + 5 = 10. Der Verkauf des ganzen Stabs bringt 8 ein, und ein Stück der Länge 1 plus ein Stück der Länge 3 bringt 2 + 7 = 9 ein.
challenge icon

Weiterführende Frage

Was ist, wenn du den Stab höchstens m-mal schneiden darfst? Was muss dann jeder Tabelleneintrag wissen?

Code zurücksetzen
def cutRod(prices):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argument

prices = [2, 5, 7, 8]

Erwartete Ausgabe

10