牛客网刷题之连续子数组的最大和

来源:互联网 发布:软件行业增值税税率 编辑:程序博客网 时间:2024/06/08 06:03

题目描述:

这里写图片描述

解题思路:

  可以定义两个变量分别存储当前累加值和最大和,那么对于一个数,如果前面累加值是负的,说明是有害于整体的,那么则取下一个数,如果是正的则和最大和向比较,最终返回最大值。

题解:

public int FindGreatestSumOfSubArray(int[] array) {        if(array.length == 0){            return 0;        }        int sum = array[0];        int tempSum = array[0];        for(int i = 1 ; i < array.length ; ++ i){            tempSum = tempSum < 0 ? array[i] : tempSum+array[i];            sum = sum > tempSum ? sum : tempSum;        }        return sum;    }

ac结果:

这里写图片描述

0 0