我正在為即將到來的求職面試練習演算法,但我在正確實施這一演算法時遇到了困難。我也在盡量提高效率。問題是:
最大限度的利潤,你的企業銷售金屬棒。如果你收到金屬棒的**,你就賣。剩下的小金屬棒將被扔掉。要切割金屬棒,您需要為每次切割支付成本。你能賺的最大利潤是多少?在constraints:
lengths will be 1 to 50 elements, inclusive.
each element of length will lie in range [1,10000]
1 <= metal_price, cost_per_cut <=1000
樣本輸入:
^$書中如何解決這一問題的是,杆的最佳長度是6。所以我們從第一根棍子上切下4根長度為6的金屬棒,然後從中取出長度為2的碎片。接下來,我們從第二根杆上切下17根長度為6的鋼筋,並丟棄長度為1的鋼筋。對於第三個,我們切下9個長度為6的碎片,並投擲乙個長度為5的碎片。所以我們總共削減了30次。因此,30*6*10-30*1-1770
以下是我目前為止的嘗試:def maxprofit( cost_per_cut, metal_price, lengths):
profit =0
for num in lengths:
我只是不知道該怎麼做。我應該迭代一下這些數字,看看它們可以被整除的最小數是多少,然後使用它嗎?有什麼想法嗎?在
年結 利潤分配 未分配利潤年結
留存收益科目設定tcode ob53 情況一 如果此處的41040101是 利潤分配 未分配利潤 關於這種方式有以下幾個方面需要說明 2.在定義資產負債表時,需要將未分配利潤專案定義為包括所有的損益類科目。3.sap採用的是表結法,所以平時不需要將損益類科目結轉到本年利潤科目。情況二 如果留存收益科...
Python 分段利潤提成
題目 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於40萬元的部分,可提成3 60萬到100萬之...
python分配 Python分配解構
根據dis,他們都被編譯成相同的位元組碼 def f1 line a,b,c line.split def f2 line a,b,c line.split def f3 line a,b,c line.split import dis dis.dis f1 2 0 load fast 0 line...