我们常常遇到这样的问题,比如现在我们要找到下面这个数组中的最大连续和的问题。
数组:[2,-3,4,-1,-2,1,5,-3,1,1]
public class Test7 { public static int ss(int a[]){ //如果全为负数返回0 boolean flag=false; for(int i=0;i<a.length;i++){ if(a[i]>0){ flag=true; } } if(!flag){ return 0; } int dp=Integer.MIN_VALUE,ans=Integer.MIN_VALUE; for(int i=0;i<a.length;i++){ dp=Math.max(a[i],a[i]+dp); ans=Math.max(ans,dp); } return ans; } public static void main(String args[]){ int[] a={2,-3,4,-1,-2,1,5,-3,1,1}; System.out.println(ss(a)); } }
运行结果: