我目前正在採取算法類。我正在用python測試它們中的很多,包括動態編程。這是一個實施自下而上的杆切割實施。python中的memoization,關閉一個錯誤
由於錯誤的錯誤,它不起作用。是否有Python中的全局設置,我可以將默認數組索引更改爲1而不是0?或者有人可以爲我提供一個更好的戰略,以避免我遇到一百萬次錯誤的錯誤。這是超級討厭。
def bottom_up_memo_cut_rod(p,n):
r = [ 0 for i in range(n) ]
r[0] = 0
for j in range(n):
q = -1
for i in range(j):
q = max(q, p[i] + r[j-i])
r[j] = q
return r[n]
bottom_up_memo_cut_rod([1,5,8,9], 4)
答案應該是10在這種情況下削減4成(2,2)產生的10
對於'enumerate()'+1。在Python 2.6和更高版本中,'enumerate()'爲起始索引提供了一個額外的參數,這在處理基於1的對象時可能會有所幫助。 – kindall