AcWing 55 連續子陣列的最大和

2021-09-22 02:43:35 字數 443 閱讀 5127

輸入乙個非空整型陣列,陣列裡的數可能為正,也可能為負。

陣列中乙個或連續的多個整數組成乙個子陣列。

求所有子陣列的和的最大值。

要求時間複雜度為o(n)。

樣例

輸入:[1, -2, 3, 10, -4, 7, 2, -5]

輸出:18

此題o(n)的解法是用動態規劃。dp[i]是以i結尾的最大子序和,如果dp[i-1]小於0,那麼dp[i]等於nums[i]才能使其最大,如果加上前面的dp[i-1]的話會更小。否則dp[i]等於dp[i-1]加上nums[i]。最終的結果是dp陣列中最大的數,所以遍歷過程中一直更新最大值ans。最終遍歷完後返回最大子序和ans。

class solution 

return ans;

}};

AcWing 55 連續子陣列的最大和

題目描述 輸入乙個非空整型陣列,陣列裡的數可能為正,也可能為負。陣列中乙個或連續的多個整數組成乙個子陣列。求所有子陣列的和的最大值。要求時間複雜度為o n 樣例輸入 1,2,3,10,4,7,2,5 輸出 18分析 本題作為動態規劃的經典題,在紫書上高效演算法設計第一節便給出了各種複雜度的解法。暴力...

(7)連續子陣列問題

include using namespace std 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因...

523 連續的子陣列和

解法一 字首和的暴力搜尋 o n 2 我們遍歷每乙個連續的序列,判斷他是否滿足條件,我們使用字首和 這種解法相信不用多說就會的 public boolean checksubarraysum int nums,int k 迴圈處理每一段連續的序列 for int i 0 i nums.length ...