最大子陣列
給定乙個整數陣列,找到乙個具有最大和的子陣列,返回其最大和。
注意事項
子陣列最少包含乙個數
您在真實的面試中是否遇到過這個題?
yes
樣例給出陣列[−2,2,−3,4,−1,2,1,−5,3]
,符合要求的子陣列為[4,−1,2,1]
,其最大和為6
挑戰 要求時間複雜度為o(n)
標籤
相關題目
分析:這裡採用貪心法,時間複雜度為o(n),將子串和為負數的子串丟掉,只留和為正的子串。當前和為負,則再加下去越來越小,所以可以捨棄之前相加的和
class solution
if(sums<0)
}return ans;
}};
時間複雜度為o(n2)的方法為
class solution
} }
return ans;
} };
LINTCODE 最大子陣列III
lintcode 最大子陣列iii 思路 動態規劃的方法,記mustthelast i j 為在前i個數中分成j段,且第j段必須有第i個數的最大值,notthelast i j 為前i個中分成j段,且第j段不一定含有第i個數的最大值 注意初始化的資料,不能全部初始化為0,不然在全部為負整數以及一些其...
最大子陣列差 LintCode
描述 給定乙個整數陣列,找出兩個不重疊的子陣列a和b,使兩個子陣列和的差的絕對值 sum a sum b 最大。返回這個最大的差值。子陣列最少包含乙個數 樣例 給出陣列 1,2,3,1 返回 6 挑戰 時間複雜度為o n 空間複雜度為o n 思路 構建相應的陣列formax i 表示從nums 0 ...
lintcode 最大子陣列III
給定乙個整數陣列和乙個整數 k,找出 k 個不重疊子陣列使得它們的和最大。每個子陣列的數字在陣列中的位置應該是連續的。返回最大的和。子陣列最少包含乙個數 給出陣列 1,4,2,3,2,3 以及 k 2,返回8 dp i j max dp x j 1 maxs x 1 i dp i j 表示前 i 個...