与负数相加的结果一定小于本身

连续子数组的最大和

http://www.nowcoder.com/questionTerminal/459bd355da1549fa8a49e350bf3df484

当连续之和为负数时,其和第i个数的和一定小于第i个数。此时需要将连续之和更新为第i个数

大佬的图解,来源:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/solution/mian-shi-ti-42-lian-xu-zi-shu-zu-de-zui-da-he-do-2/
图片说明

    /**
     * 要计算连续子向量的最大和
     * @param array 数组
     * @return 连续,最大和。
     */
    public int FindGreatestSumOfSubArray(int[] array) {
        int curSum=0;
        int maxVal=Integer.MIN_VALUE;

        for(int num:array){
            if(curSum<0){
                curSum=num;
            }else {
                curSum+=num;
            }
            if(curSum>maxVal){
                maxVal=curSum;
            }

        }
        return maxVal;

    }
全部评论

相关推荐

点赞 评论 收藏
分享
美丽的查理斯不讲武德:包kpi的啊,感觉虾皮一点hc都没有
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务