【数组】最大连续子序列和

题目:

 

 

解答:

当我们加上一个正数的时候,和会增加;当我们加上一个负数的时候,和会减少。如果当前得到的和是个负数,那么这个和接下来的累加中应该抛弃并重新清零,不然的话,这个负数将会减少接下来的和。

 1 class Solution {
 2 public:
 3     int maxSubArray(vector<int>& nums) 
 4     {
 5         int sum = nums[0];
 6         int b = 0;
 7         for (int i = 0; i < nums.size(); i++)
 8         {
 9             if (b < 0)
10             {
11                 b = nums[i];
12             }
13             else
14             {
15                 b += nums[i];
16             }
17 
18             if (sum < b )
19             {
20                 sum = b;
21             }
22         }
23 
24         return sum;
25 
26     }
27 };

 

posted @ 2020-05-05 19:27  梦醒潇湘  阅读(190)  评论(0)    收藏  举报