Python C++ dp動態規劃解Leetcode 1043 Partition Array for Maximum Sum
如果你看一下遞迴公式
dp[i]=max(ans, dp[i-j]+j*maxA) for j in [1...min(i, j)]
它是 k+1 項遞迴,這意味著遞迴公式中最多有 k+1 個連續項。 所以為了節省空間,可以改為
dp[i%k]=max(ans, dp[(i-j)%k]+j*maxA) for j in [1...min(i, j)]
/* 自定義代碼塊樣式 */