剑指offer:连续子数组的最大和

定义数组的第一个元素为最大数,此时的最大值result,后续会更新result的,进行for循环,i=1,如果array[i]+maxNum(数组的前两位)大于此时的arsy[i],则把他两相加。不大于的话就更新此时的maxNum,放到result中,最后将result中的结果和新遍历相加得到的值相比较,谁大输出谁!!!

class Solution{
public:
int FindGreatestSumOfSubArray(vector<int> array){
    int len =array.size();
    int maxNum = array[0],result = maxNum;
    for(int i =1;i<len;++i){
        if(array[i]+maxNum>array[i])
            maxNum += array[i];
        else
            maxNum = array[i];
        result = max(result, maxNum);

    }
    return result;
}
};

#剑指OFFER##23届找工作求助阵地#
全部评论

相关推荐

废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务