-
題目連結
-
解題思路
- 最大子陣列問題,有兩個基本的想法,以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陣列
- LeetCode53. 最大子陣列和LeetCode陣列
- 53. 最大子序和(劍指 Offer 42)
- 2021-01-03 | 53. 最大子序和
- 【力扣】最大子陣列和(貪心)力扣陣列
- 最大連續子陣列和(最大子段和)陣列
- 【DP】乘積最大子陣列陣列
- 【刷題筆記】LeetCode-53 最大子陣列和筆記LeetCode陣列
- 53_Maximum Subarray-最大子陣列陣列
- LeetCode-152-乘積最大子陣列LeetCode陣列
- 【Leetcode】152.乘積最大子陣列LeetCode陣列
- 最大子陣列問題(Maximum subarray problem)陣列
- JS陣列遍歷和獲取陣列最值JS陣列
- 最大子列和問題
- 第四章:多維陣列和矩陣 ------------- 4.4 找出邊界為1的最大子方陣陣列矩陣
- 程式碼隨想錄演算法訓練營第三十一天 | 455.分發餅乾 376.擺動序列 53.最大子陣列和演算法陣列
- 分治法演算法學習(一)——歸併排序、求最大子陣列和演算法排序陣列
- #1502 : 最大子矩陣矩陣
- 53、最大子陣列和 | 演算法(leetcode,附思維導圖 + 全部解法)300題陣列演算法LeetCode
- 矩陣和陣列矩陣陣列
- Javascript - 陣列和陣列的方法JavaScript陣列
- 一道題把我氣笑了:) 力扣.53 最大子陣列和 leetcode maximum-subarray力扣陣列LeetCode
- 《程式設計珠璣》程式碼之路11:最大子陣列和問題,花式七種解法程式設計陣列
- 978 最長湍流子陣列陣列
- 構建最簡單陣列陣列
- Leetcode 陣列中和為給定值的最長子陣列LeetCode陣列
- 指標陣列和陣列指標與二維陣列指標陣列
- 陣列和字串陣列字串
- 陣列去重和陣列扁平化陣列
- 二維陣列和稀疏陣列互轉陣列
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- 【Java】int[] 陣列 和 Integer陣列的轉換Java陣列
- 數字陣列最值,總和,平均,中位數 未完待續陣列
- JavaScript中對陣列和陣列API的認識JavaScript陣列API
- 【LeetCode】【分治法】連續數列(最大子序和)思路解析和程式碼LeetCode
- Java陣列宣告建立和使用以及多維陣列、Arrays類、稀疏陣列Java陣列