給定乙個整數陣列 nums ,找到乙個具有最大和的連續子陣列(子陣列最少包含乙個元素),返回其最大和。
示例:輸入: [-2,1,-3,4,-1,2,1,-5,4],
輸出: 6
解釋: 連續子陣列 [4,-1,2,1] 的和最大,為 6。
高階:如果你已經實現複雜度為 o(n) 的解法,嘗試使用更為精妙的分治法求解。
補項追蹤法(貪心演算法)
使用乙個補項記錄前面序列對當前元素序列和的最大貢獻,如果補項大於0,即當前最大子序和的增益。否則,增益為0。而以當前元素終止的序列最大和為增益+當前值。找到最大的序列和。以示例說明,初始化增益為0,最大自序和為第乙個元素-2;當取到第乙個元素-2時,我們將-2與補項0相加,與最大子序和相比,取較大的為最新的最大子序和,還是-2,並按式2更新補項為0;取第二個元素1時,按式1更新最大子序和為1,更新補項為1;取第三個元素-3時,更新最大子序和為1,補項為0;依次遍歷下去,時間複雜度為o(n),空間複雜度o(1)。
class
solution
return maxsum;}}
;
執行用時 :8 ms
記憶體消耗 :8.4 mb
Leetcode No 53 最大子序和
給定乙個整數陣列 nums 找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 1 輸入 nums 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6 示例 2 輸入 nums 1 輸出 1 示例 3 輸入 nums 0 輸出 0...
53 Maximum Subarray最大子串和
題目 find the contiguous subarray within an array containing at least one number which has the largest sum.for example,given the array 2,1,3,4,1,2,1,5,4...
53 最大子序和
給定乙個整數陣列nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。兩個變數,乙個是ans,用來儲存 更新子串行 乙個maxn,始終儲存著當前最大的子串行。子串行...