lintcode——最大子陣列iii
思路:動態規劃的方法,記mustthelast[i][j]為在前i個數中分成j段,且第j段必須有第i個數的最大值,notthelast[i][j]為前i個中分成j段,且第j段不一定含有第i個數的最大值;注意初始化的資料,不能全部初始化為0,不然在全部為負整數以及一些其他情況的陣列會出錯;
動態規劃方程為:
mustthelast[i][j] = max(mustthelast[i-1][j] + nums[i-1] ,notthelast[i-1][j-1] + nums[i-1]);
notthelast[i][j] = max(notthelast[i-1][j] ,mustthelast[i][j]);
class solution
}return notthelast[n][k];
}};
LintCode 42 最大子陣列 II
給定乙個整數陣列,找出兩個 不重疊子陣列使得它們的和最大。每個子陣列的數字在陣列中的位置應該是連續的。返回最大的和。public class solution else if tmp max leftarray i max int rightarray new int nums.size max i...
lintcode練習 42 最大子陣列 II
給定乙個整數陣列,找出兩個 不重疊 子陣列使得它們的和最大。每個子陣列的數字在陣列中的位置應該是連續的。返回最大的和。給出陣列 1,3,1,2,1,2 這兩個子陣列分別為 1,3 和 2,1,2 或者 1,3,1,2 和 2 它們的最大和都是7 要求時間複雜度為 o n 子陣列最少包含乙個數 cla...
lintcode 42 最大子陣列 II 解析
題目 給定乙個整數陣列,找出兩個 不重疊 子陣列使得它們的和最大。每個子陣列的數字在陣列中的位置應該是連續的。返回最大的和。樣例給出陣列 1,3,1,2,1,2 這兩個子陣列分別為 1,3 和 2,1,2 或者 1,3,1,2 和 2 它們的最大和都是 7 思路 例 nums陣列 left ligh...