-
題目連結
-
解題思路
- 最大子陣列問題,有兩個基本的想法,以i開頭的子陣列結果是怎樣的,求出所有的結果,最優的那個,就是答案;以i結尾的子陣列結果是怎樣的,求出所有的結果,最優的那個,就是答案。
- 本題我們可以考慮,「以i結尾的結果是怎樣的」,為啥?因為我們要求的是最大的累加和,我們求出了
res1=「以i結尾的結果」
,求i+1的結果就很方便了,如果res1為正數,則i+1的結果就是res1 + nums[i + 1]
,如果res1為負數,則i+1的結果就是nums[i + 1]
-
程式碼
class Solution { public: int maxSubArray(vector<int>& nums) { int n = nums.size(); int pre = nums[0]; // 0結尾的結果 int ans = pre; for (int i = 1; i < n; ++i) { // 我們現在求以i結尾的結果是多少 if (pre > 0) { // 如果前面的累加和大於0 則加上 pre += nums[i]; } else { // 否則不加 pre = nums[i]; } ans = max(ans, pre); // 更新結果 } return ans; } };
53. 最大子陣列和
相關文章
- 求二維陣列中最大子陣列的和陣列
- 迴圈陣列最大子段和陣列
- 53. 最大子序和(python3)Python
- 最大子陣列和問題的解陣列
- 【力扣】最大子陣列和(貪心)力扣陣列
- [Python手撕]最大子陣列和Python陣列
- 陣列1——求一個陣列的最大子陣列陣列
- 最大連續子陣列和(最大子段和)陣列
- LeetCode53. 最大子陣列和LeetCode陣列
- 【DP】乘積最大子陣列陣列
- 最大子矩陣和矩陣
- 最大子段和 | 最大子矩陣 | 最大M子段和矩陣
- JS陣列遍歷和獲取陣列最值JS陣列
- 最大子陣列問題(Maximum subarray problem)陣列
- 53_Maximum Subarray-最大子陣列陣列
- 【刷題筆記】LeetCode-53 最大子陣列和筆記LeetCode陣列
- 求最大子陣列(貪心演算法)陣列演算法
- poj1050 最大子矩陣和矩陣
- 程式碼隨想錄演算法訓練營第三十一天 | 455.分發餅乾 376.擺動序列 53.最大子陣列和演算法陣列
- 第四章:多維陣列和矩陣 ------------- 4.4 找出邊界為1的最大子方陣陣列矩陣
- LeetCode-152-乘積最大子陣列LeetCode陣列
- 【Leetcode】152.乘積最大子陣列LeetCode陣列
- 分治法演算法學習(一)——歸併排序、求最大子陣列和演算法排序陣列
- POJ 1050-To the Max(最大子矩陣和)矩陣
- 矩陣和陣列矩陣陣列
- 構建最簡單陣列陣列
- 978 最長湍流子陣列陣列
- Javascript - 陣列和陣列的方法JavaScript陣列
- 《程式設計珠璣》程式碼之路11:最大子陣列和問題,花式七種解法程式設計陣列
- #1502 : 最大子矩陣矩陣
- 陣列指標和指標陣列陣列指標
- 指標陣列和陣列指標與二維陣列指標陣列
- 陣列和字串陣列字串
- 陣列去重和陣列扁平化陣列
- 二維陣列和稀疏陣列互轉陣列
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- Leetcode 陣列中和為給定值的最長子陣列LeetCode陣列
- 最大子陣——動態規劃DP動態規劃