public static int FindMaxSum(int[] array) { int sum = array[0]; int max = sum; for (int i = 1; i < array.length; i++) { if (sum > 0) sum = sum + array[i]; //判断前面序列的和, 如果大于0就保留, 继续加下一个数字 else sum = array[i]; //前面的序列不大于0, 就舍去, 从下一个数字开始计算最大和. if (sum > max) max = sum; //如果计算的最大和是新的最大和, 就更新最大和.这样就忽略了后面和小于0的连续序列 } return max; }
求连续子串的和的最大值
最新推荐文章于 2021-07-31 12:43:17 发布