用c++语言计算最大子序和

用c++语言计算最大子序和

题目详情

解题思路:

用sum表示子序和,sumNow表示当前子序和,用sum与sumNow比较,若sumNow大于sum,则令sum=sumNow,最终得到最大子序和。

代码实现如下:

class Solution {
public:
    int maxSubArray(vector<int>& nums) {

        int sum = nums[0];
        int sumNow = 0;
        for(int i = 0; i < nums.size(); i++) {
            sumNow += nums[i];
            if(sumNow > sum)
                sum = sumNow;
            if(sumNow < 0)
                sumNow = 0;
        }
        return sum;
    }
};
发布了17 篇原创文章 · 获赞 0 · 访问量 237

猜你喜欢

转载自blog.csdn.net/weixin_45775445/article/details/104587065
今日推荐