天天看點

lintcode 最大子數組III

  給定一個整數數組和一個整數 k,找出 k 個不重疊子數組使得它們的和最大。每個子數組的數字在數組中的位置應該是連續的。

  傳回最大的和。

  子數組最少包含一個數

  給出數組 <code>[-1,4,-2,3,-2,3]</code> 以及 k = <code>2</code>,傳回 <code>8</code>

  dp[i][j] = max(dp[x][j-1]+maxs[x+1][i])

  dp[i][j] 表示前 i 個數中 j 個子數組的最大值,

  maxs[i][j] 表示 第i個數到第j個數中最大子數組的和。

  

繼續閱讀