美文网首页
#常见面试算法题

#常见面试算法题

作者: jameiShi | 来源:发表于2018-02-07 17:30 被阅读20次

    阅读目录

    *求数组最大连续子序列之和


    1.求数组最大连续子序列之和

    一个有N个元素的整型数组arr,有正有负,数组中连续一个或多个元素组成一个子数组,这个数组当然有很多子数组,求子数组之和的最大值。例如:[0,-2,3,5,-1,2]应返回9,[-9,-2,-3,-5,-3]应返回-2。
    思路 :在每次元素累加和小于0时,从下一个元素重新开始累加

    int Maxsum_ultimate(int * arr, int size)
    {
        int maxSum = 0;
        int sum = 0;
        for(int i = 0; i < size; ++i)
        {
            if(sum < 0)
            {
                sum = arr[i];
            }else
            {
                sum += arr[i];
            }
            if(sum > maxSum)
            {
                maxSum = sum;
            }
        }
        return maxSum;
    }
    

    相关文章

      网友评论

          本文标题:#常见面试算法题

          本文链接:https://www.haomeiwen.com/subject/uwjazxtx.html