剑指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届找工作求助阵地#
全部评论

相关推荐

06-27 15:15
长安大学 Java
哈哈哈,你是老六:这种就是培训机构骗钱的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-24 14:18
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务