Menu
CoddyTech

Rod Cutting Problem

Uzunluğu n olan bir çubuğun var; burada n = prices.length. Uzunluğu k olan bir parça prices[k-1] fiyatına satılır. Çubuğu istediğin sayıda tam uzunlukta parçaya bölebilir veya tek parça hâlinde satabilirsin. Çubuğun tamamını satarak kazanabileceğin en yüksek tutarı döndür.

Fonksiyon

cutRod(prices: integer-array) → integer
pricesinteger-array
prices[k-1], uzunluğu k olan bir parçanın fiyatıdır; çubuğun uzunluğu prices.length kadardır
Döndürürinteger
tüm çubuğun kazanabileceği en fazla para

Kısıtlar

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

Örnekler

Girdi
prices = [2, 5, 7, 8]
Çıktı
10
Açıklama
Uzunluğu 2 olan iki parça 5 + 5 = 10 kazandırır. Çubuğu bütün hâlde satmak 8 kazandırır; 1 uzunluğunda bir parça ile 3 uzunluğunda bir parça ise 2 + 7 = 9 kazandırır.
challenge icon

Ek soru

Peki çubuğu en fazla m kez kesebiliyorsanız? O zaman her tablo girdisinin neyi bilmesi gerekir?

Kodu sıfırla
def cutRod(prices):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argüman

prices = [2, 5, 7, 8]

Beklenen Çıktı

10