最大子序列和问题

来源:互联网 发布:淘宝怎么选直通车搜索 编辑:程序博客网 时间:2024/05/21 10:34

给定(有可能有负数)正数A1,A2,...An,求Ai,Ai+1,...Aj的最大值(i>=1,j>=i,j<=n)。(方便起见,如果索引正数均为负数,则最大子序列和为0)

JAVA实现源码如如下:

public class MaxSubSum {public static int maxSubSum(int[] a) {int maxSum = 0, thisSum = 0;for (int i = 0, length = a.length; i < length; i++) {thisSum += a[i];if (thisSum > maxSum)maxSum = thisSum;else if (thisSum < 0)thisSum = 0;}return maxSum;}public static void main(String[] args) {int[] a = { -1, 0, 2, 4, 3, -9, 7, 2, 1, -5, 2 };System.out.println(maxSubSum(a));}}


原创粉丝点击